Anonymní profil juklmi – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil juklmi – Programujte.comAnonymní profil juklmi – Programujte.com

 

Příspěvky odeslané z IP adresy 78.80.3.–

juklmi
C / C++ › Práce se soubory - chyby ve…
6. 6. 2012   #158899
juklmi
C / C++ › Práce se soubory - chyby ve…
6. 6. 2012   #158896
juklmi
C / C++ › Práce se soubory - chyby ve…
6. 6. 2012   #158894

Dobré ráno všem, 

prosím o pomoc, mám tu zdroják s cca dvaceti chybičkami plus exáč (viz odkaz dole, jak by měl výsledný program fungovat), mohl by mi prosím někdo pomoci nalézt chyby? Díky!

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

typedef struct s_kurz {
char mena[];
int mnozstvi;
double kurz;
} KURZ;

double cti_kladne_cislo() {
double cislo = 0;
int pocet_nactenych, zbytecny_znak, pokus;

do {
pokus++;
if (pokus > 1) {
if (pocet_nactenych = 0) {
printf("Nezadal jsi cislo, zadej desetinne cislo: ");
} else if (cislo <= 0) {
printf("Cislo musi byt kladne, zadej kladne cislo: ");
}
}
pocet_nactenych = scanf("%lf", cislo);
do {
zbytecny_znak = getchar();
} while (zbytecny_znak != '\r' && zbytecny_znak != '\n');
} while (pocet_nactenych != 1 && cislo <= 0);
}

int nacti_listek(char *nazev_souboru, KURZ kurzy[], int max_pocet) {
FILE *soubor;

soubor = fopen(nazev_souboru, "r");
if (soubor) {
while (i < max_pocet && fscanf(soubor, "%d %3s %lf\n", &kurzy[i].mnozstvi, kurzy[i].mena, &kurzy[i].kurz) == 3); {
i++;
}
fclose(soubor);
printf("Kurzovni listek byl nacten.\n");
} else {
printf("Nelze nacist kurzy ze souboru %s.\n", nazev_souboru);
}
return i;
}

void uloz_listek(char *nazev_souboru, KURZ kurzy[], int pocet) {
FILE *soubor;
int i;

soubor = fopen(nazev_souboru, "r");
if (soubor) {
for (i = 0; i < pocet; i++)
fprintf(soubor, "%d %s %lf\n", &kurzy[i].mnozstvi, kurzy[i].mena, &kurzy[i].kurz);
}
fclose(soubor);
printf("Kurzovni listek byl ulozen do souboru %s.\n");
} else {
printf("Nelze ulozit kurzy do souboru %s.\n", nazev_souboru);
}
}

void zmen_listek(KURZ kurzy[], int pocet) {
int i;

printf("Zadej nove kurzy:\n");
for (i = 0; i <= pocet; i++)
printf("%d %s = ", kurzy[i].mnozstvi, kurzy[i].mena);
kurzy[i].kurz = cti_kladne_cislo()

}

int main(int argc, char *argv[]) {
char nazev_souboru[] = "kurzy.txt";
KURZ kurzy[5];
int pocet;

pocet = nacti_listek(nazev_souboru, kurzy, 10);
if (pocet) {
zmen_listek(kurzy, pocet);
uloz_listek(nazev_souboru, kurzy, pocet);
}

system("PAUSE");
return 0;
}

exáč: http://www.jezdeniprovsechny.cz/Nechodi10.exe

soubor: http://www.jezdeniprovsechny.cz/kurzy.txt

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý