Skip to content

Instantly share code, notes, and snippets.

@erenon
Forked from anonymous/mod.c
Created December 5, 2010 23:05
Show Gist options
  • Save erenon/729578 to your computer and use it in GitHub Desktop.
Save erenon/729578 to your computer and use it in GitHub Desktop.
#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