| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 14.12.08 Prihlásený: 07.01.21 Príspevky: 34 Témy: 12 | Napísal noff: 08.05.2009 11:09 | |
|
Nazdar!
potreboval by som pomoc v programe
Za ulohu mam vytvorit program, ktory:
- nacita a zapise do suboru 10 struktur v tvare den,mesiac,rok,teplota(podprogram: vstup pocet struktur n a meno suboru)
- zrusi v subore pozadovany riadok
- vypise hodnoty celeho suboru
- udaje precita zo suboru a vypise usporiadane podla teploty
- vypise udaje o najteplejsom a najchladnejsom dni
a take nieco som zrobil viete mi pomoct prosim Vás?
Dakujem!
Kód: #include <stdio.h> #include <string.h>
typedef struct zaznam{ char den[30]; int mesiac; int rok; float teplota; }ZAZNAM;
ZAZNAM zoznam[50]; void Den(int n); void Mesiac(int n); void Rok(int n); void Teplota(int n);
main(){ int i=0; char c; int n;
do { printf("%d, zaznam\n-------------\n",i+1); printf("Den: "); scanf("%s",zoznam[i].den); printf("Mesiac(cislo mesiaca): "); scanf("%s",&zoznam[i].mesiac); printf("Rok: "); scanf("%d",&zoznam[i].rok); print("Teplota: "); scanf("%f",&zoznam[i].teplota); getchar(); printf("--------------\n"); i++; printf("Chcete pridat dalsie zaznamy? (a/n)\n"); c=getchar(); } while (c=='a'); n=i; Den(n); Mesiac(n); Rok(n); Teplota(n); }
void Den(int n) { ZAZNAM ciel[n],pom; int i,j; for (i=0; i<n; i++) { strcpy(ciel[i].den,zoznam[i].den); ciel[i].mesiac=zoznam[i].mesiac; ciel[i].rok=zoznam[i].rok; ciel[i].teplota=zoznam[i].teplota; } for (i=0; i<(n-1); i++) for (j=0; j<(n-1); j++) if (strcmp(ciel[j].den,ciel[j+1].den)>0) { strcpy(pom.den,ciel[j].den); pom.mesiac=ciel[j].mesiac; pom.rok=ciel[j].rok; pom.teplota=ciel[i].teplota; strcpy(ciel[j].den,ciel[j+1].den); ciel[j].mesiac=ciel[j+1].mesiac; ciel[j].rok=ciel[j+1].rok; ciel[j].teplota=ciel[j+1].teplota; strcpy(ciel[j+1].den,pom.den); ciel[j+1].mesiac=pom.mesiac; ciel[j+1].rok=pom.rok; ciel[j+1].teplota=pom.teplota; } printf( "\nZaznamy zotriedenie pola Den\-----------------\n"); for (i=0;i<n;i++) { printf("Den: %s\n",ciel[i].den); printf("Mesiac: %d\n",ciel[i].mesiac); printf("Rok: %5.2f\n",ciel[i].rok); printf("Teplota: %5.2\n",ciel[i].rok); printf("----------------------------\n"); } getchar(); } void Mesiac(int n) { ZAZNAM ciel[n],pom; int i,j; for (i=0; i<n; i++) { strcpy(ciel[i].den,zoznam[i].den); ciel[i].mesiac=zoznam[i].mesiac; ciel[i].rok=zoznam[i].rok; ciel[i].rok=zoznam[i].teplota; } for (i=0; i<(n-1); i++) for (j=0; j<(n-1); j++) if (ciel[j].mesiac>ciel[j+1].mesiac) { strcpy(pom.den,ciel[j].den); pom.mesiac=ciel[j].mesiac; pom.rok=ciel[j].rok; pom.teplota=ciel[j].teplota; strcpy(ciel[j].den,ciel[j+1].den); ciel[j].mesiac=ciel[j+1].mesiac; ciel[j].rok=ciel[j+1].rok; ciel[j].teplota=ciel[j+1].teplota; strcpy(ciel[j+1].den,pom.den); ciel[j+1].mesiac=pom.mesiac; ciel[j+1].rok=pom.rok; ciel[j+1].teplota=pom.teplota; } printf("\nZaznamy zotriedene pola Mesiac\n-----------------------------\n"); for (i=0;i<n;i++) { printf("Den: %s\n",ciel[i].den); printf("Mesiac: %d\n",ciel[i].mesiac); printf("Rok: %5.2f\n", ciel[i].rok); printf("Teplota: %5.2f\n",ciel[i].teplota); printf("------------------------------\n"); } getchar(); void Teplota(int n) { ZAZNAM ciel[n],pom; int i,j; for(i=0; i<n; i++) { strcpy(ciel[i].den,zoznam[i].den); ciel[i].mesiac=zoznam[i].mesiac; ciel[i].rok=zoznam[i].rok; ciel[i].teplota=zoznam[i].teplota; } for (i=0; i<(n-1); i++) for (j=0; j<(n-1); j++) if (ciel[j].teplota>ciel[j+1].teplota) { strcpy(pom.den,ciel[j].den); pom.mesiac=ciel[j].mesiac; pom.rok=ciel[j].rok; pom.teplota=ciel[j].teplota; strcpy(ciel[j].den,ciel[j+1].den); ciel[j].mesiac=ciel[j+1].mesiac; ciel[j].rok=ciel[j+1].rok; ciel[j].teplota=ciel[j+1].teplota; strcpy(ciel[j+1].den,pom.den); ciel[j+1].mesiac=pom.mesiac; ciel[j+1].rok=pom.rok; ciel[j+1].teplota=pom.teplota; } printf("\nZaznamy zotriedene pola Teplota\n-----------------------------\n"); for (i=0;i<n;i++) { printf("Den: %s\n",ciel[i].den); printf("Mesiac: %s\n",ciel[i].mesiac); printf("Rok: %5.2f\n", ciel[i].rok); printf("Teplota: %5.2\n",ciel[i].teplota); printf("------------------------------\n"); } getchar();
}
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
noff píše: ...viete mi pomoct prosim Vás?
a s cim konkretne?
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 14.12.08 Prihlásený: 07.01.21 Príspevky: 34 Témy: 12 | Napísal autor témy noff: 08.05.2009 12:03 | |
|
tak to cele nechce fungovat a este stym zrusenim v subore pozadovany riadok...a vypisanie najteplejsie a najchladnesieho dna..skusal som to cez pomocne premenne ....
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 08.05.2009 15:27 | |
|
Kód: ---------- Capture Output ---------- 31: Call to function 'print' with no prototype in function main Warning 45: Function should return a value in function main Error E2313 49: Constant expression required in function Den Error E2313 93: Constant expression required in function Mesiac Error E2140 134: Declaration is not allowed here in function Mesiac Error E2141 135: Declaration syntax error in function Mesiac Error E2139 177: Declaration missing ; in function Mesiac Error E2134 177: Compound statement missing } in function Mesiac *** 6 errors in Compile ***
> Terminated with exit code 1. tie ciselka pred : su cisla riadkov
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | Napísal sento: 09.05.2009 7:51 | |
|
namiesto: main (){...
napis: void main (void){...
a na riadok 133 si daj zlozenu zatvaraciu zatvorku (nemas ukoncenu fciu Mesiac)
no a na riadkoch 49 a 93, kde mas:
ZAZNAM ciel[n] musis mat miesto n cislo !!!
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 |
sento: lepsie bolo imho skor main(), kedze sa ako navratova hodnota implicitne doplni int, pricom main by aj int mala vracat, nie void. Podla standardov by sa to vsak malo pisat explicitne, taktiez aj void, ak nie su pouzite ziadne parametre
int main(void)
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| V akom programe?? v Webdesign | 3 | 637 | 11.04.2008 0:08 shaggy | | Založky v programe... v Assembler, C, C++, Pascal, Java | 1 | 367 | 01.10.2012 11:36 Fico | | Otvoriť v programe... v Operačné systémy Microsoft | 12 | 1523 | 24.05.2011 19:48 MARTINKO99 | | Grafika v C++ programe v Assembler, C, C++, Pascal, Java | 26 | 2242 | 27.08.2010 6:34 reDo | | v akom programe(?) otvorit? v Ovládače | 2 | 568 | 02.11.2011 10:50 BlackDog600 | | ornamenty v kresliacom programe v Grafické programy | 8 | 10236 | 23.08.2008 18:57 capricorn7 | | Excellovske tabulky vo vlastnom programe v Delphi, Visual Basic | 1 | 726 | 13.09.2009 11:20 mysacek | | prehravanie zvuku v programe (delphi) v Delphi, Visual Basic | 3 | 568 | 09.11.2011 17:00 Fico | | Hanojske veze v programe C v Assembler, C, C++, Pascal, Java | 9 | 1745 | 25.12.2007 0:06 TrSek | | slovenske znaky v programe c v Assembler, C, C++, Pascal, Java | 5 | 365 | 21.05.2013 19:26 igorLM | | V ktorom programe vytvoriť tablo v Ostatné programy | 2 | 546 | 13.02.2016 12:25 Miso122 | | Problém s triedením v programe v Assembler, C, C++, Pascal, Java | 13 | 392 | 12.06.2013 21:20 BX | | Otvaranie suboru priamo v programe v Delphi, Visual Basic | 1 | 636 | 01.03.2009 17:06 Fico | | Chyba v programe Pascal (Lazarus) v Assembler, C, C++, Pascal, Java | 5 | 485 | 12.11.2016 19:15 BX | | Diakritika v programe PAWNO (a iných) v Ostatné programy | 0 | 548 | 06.09.2011 14:33 Winvik | | PC na prácu v programe Catia v PC zostavy | 15 | 479 | 28.04.2014 17:19 Phanteom |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|