-
-
Save erenon/729578 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#define MAX_STRING_LENGTH 101 | |
typedef struct { | |
char szerzo[101]; | |
char cim[101]; | |
unsigned kev; | |
char tema[101] ; | |
}rekord; | |
int r_mod_kiir () { | |
rekord r; | |
int mod_szam; | |
int sorszam = 1; | |
int dontes_n; | |
int keresett_szam = 0; | |
int mod_par_szam; | |
char mod_par[101]; | |
FILE *be, *ki; | |
be = fopen ("add.txt", "r"); | |
if (!be) { | |
fprintf(stderr, "Nem sikerult megnyitni a fajlt!\n"); | |
return 1; | |
} | |
printf("\n"); | |
printf("# Szerzo\tCim\tKiadasi ev\tTema\n\n"); | |
while (fscanf(be, "%[^\t]\t%[^\t]\t%u\t%[^\n]\n", r.szerzo, r.cim, &r.kev, r.tema) != EOF) | |
{ | |
printf("%d. %s\t%s\t%d\t%s\n", sorszam, r.szerzo, r.cim, r.kev, r.tema); | |
sorszam++; | |
} | |
printf("\n"); | |
printf("A modositani kivant elem sorszama: "); | |
scanf("%d", &mod_szam); | |
if (mod_szam < 1 || mod_szam > sorszam) { | |
printf("Hibas sorszam"); | |
printf("1. Uj sorszam megadasa\t2. Vissza a fomenube"); | |
scanf("%d", &dontes_n); | |
getchar(); | |
switch(dontes_n) { | |
case 1: | |
printf("meghivjuk a sorszambekerestol"); //!!!!!! | |
break; | |
case 2: | |
printf("fomenu kiirasa"); //!!!!!!!!! | |
break; | |
default: | |
printf("Helytelen valasztas megihvjuk valahonnan"); //!!!!!!!!!!!!!! | |
break; | |
} | |
} | |
else | |
{ | |
ki = fopen("ujadd.txt", "a"); | |
if (!ki) { | |
fprintf(stderr, "Nem sikerult megnyitni a fajlt!\n"); | |
return 1; | |
} | |
rewind(be); | |
while (fscanf(be, "%[^\t]\t%[^\t]\t%u\t%[^\n]\n", r.szerzo, r.cim, &r.kev, r.tema) != EOF) | |
{ | |
keresett_szam++; | |
if(keresett_szam == mod_szam) { | |
printf("%s\t%s\t%u\t%s\n\n", r.szerzo, r.cim, r.kev, r.tema); | |
printf("A modositani kivant parameter sorszama: \n"); | |
printf("1. Szerzo 2. Cim 3. Kiadasi ev 4. Tema\t"); | |
scanf("%d", &mod_par_szam); | |
getchar(); | |
switch(mod_par_szam) { | |
case 1: | |
printf("Az uj szerzo: "); | |
fgets(mod_par, MAX_STRING_LENGTH, stdin); | |
strcpy(r.szerzo, mod_par); | |
break; | |
case 2: | |
printf("Az uj cim: "); | |
fgets(mod_par, MAX_STRING_LENGTH, stdin); | |
strcpy(r.cim, mod_par); | |
break; | |
case 3: | |
printf("Az uj kiadasi ev: "); | |
scanf("%u", &r.kev); | |
getchar(); | |
break; | |
case 4: | |
printf("Az uj tema: "); | |
fgets(mod_par, MAX_STRING_LENGTH, stdin); | |
strcpy(r.tema, mod_par); | |
break; | |
default: | |
printf("Hibas sorszam valahonnan meghivni"); //!!!!!!!!!!! | |
} | |
fprintf (ki, "%s\t%s\t%u\t%s\n", r.szerzo, r.cim, r.kev, r.tema); | |
} | |
else | |
{ | |
fprintf(ki, "%s\t%s\t%u\t%s\n", r.szerzo, r.cim, r.kev, r.tema); | |
} | |
} | |
fclose(ki); | |
} | |
fclose(be); | |
return 0; | |
} | |
int main () { | |
r_mod_kiir(); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment