-
Fototrend

Új hozzászólás Aktív témák
-
hoper
csendes tag
Helló emberek! Lenne egy kis problémám a következő adatbáziskezelő progival. A progi noha megnyitja a bináris fájlt, de nem hajlandó beleírni a bevitt adatokat.
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int main() {
int d;
int i=0;
int szam;
int azon;
int az;
int van;
int temp;
FILE *fp;
struct valtozo
{
int azonosito;
char marka[100], szin[100];
}adat[50];
while(1) {
az = -1;
printf("\n\n --- MENU ---\n\n");
printf(" 1 - Uj adat\n");
printf(" 2 - Modositas\n");
printf(" 3 - Kereses\n");
printf(" 4 - Lista\n");
printf(" 5 - Kilepes\n\n");
printf(" Kerek egy szamot: ");
scanf("%d", &szam);
switch(szam) {
case 1:
printf("\n\n");
printf(" UJ ADAT\n");
do {
printf(" Azonosito: ");
scanf("%d", &adat[i].azonosito);
for(d=0; d<i; d++) {
if(adat[i].azonosito==adat[d].azonosito) {
printf(" Mar van ilyen azonosito!\n");
van=1;
break;
}
else {
van=0;
}
}
} while(van==1);
printf(" Marka: ");
scanf("%s", &adat[i].marka);
printf(" Szin: ");
scanf("%s", &adat[i].szin);
i++;
break;
case 2:
printf("\n\n");
printf(" MODOSITAS\n");
printf(" Add meg a modositani kivant adatok azonositojat: ");
scanf("%d", &azon);
for(d=0; d<i; d++) {
if(adat[d].azonosito==azon) {
az=d;
}
}
if(az==-1) {
printf(" Nincs ilyen azonosito!\n");
break;
}
do {
printf(" Add meg az uj azonositot: ");
scanf("%d", &temp);
for(d=0; d<i; d++) {
if(temp==adat[az].azonosito) {
van=0;
break;
}
else if(temp==adat[d].azonosito) {
printf(" Mar van ilyen azonosito!\n");
van=1;
break;
}
else {
van=0;
}
}
} while(van==1);
adat[az].azonosito=temp;
printf(" Add meg az uj markat: ");
scanf("%s", &adat[az].marka);
printf(" Add meg az uj szint: ");
scanf("%s", &adat[az].szin);
break;
case 3:
printf("\n\n");
printf(" KERESES\n");
printf(" Add meg a keresni kivant adatok azonositojat: ");
scanf("%d", &azon);
for(d=0; d<i; d++) {
if(adat[d].azonosito==azon) {
az=d;
}
}
if(az==-1) {
printf(" Nincs ilyen azonosito!\n");
break;
}
printf("\n A keresett adatok:\n\n");
printf(" Azonosito: %d\n Marka: %s\n Szin: %s\n", adat[az].azonosito, adat[az].marka, adat[az].szin);
break;
case 4:
printf("\n\n");
printf(" LISTA\n");
if(i==0) {
printf(" A lista ures!\n");
break;
}
printf(" AZONOSITO - MARKA - SZIN\n");
for(d=0; d<i; d++) {
printf(" %d - %s - %s\n", adat[d].azonosito, adat[d].marka, adat[d].szin);
}
break;
case 5:
printf("\n\n");
printf(" KILEPES\n");
int t;
char k[2];
if ((fp = fopen("adat.dat", "ab"))==NULL){
printf("Cannot open file \n");
exit(1);}
for( i=1; i<=100; i++)
{
if (adat[i].azonosito==1)
{
t=i;
sprintf(k, "%2d", t);
fwrite(&k, 2, 1, fp);
fwrite(&adat[i].marka, 50, 1, fp);
fwrite(&adat[i].szin, 50, 1, fp);
}
fclose(fp);
}
return 0;
default:
printf("\n Nincs ilyen menupont!\n");
break;
}
}
}
A program egyébként kézi kiiratással működik, a képernyőre jól ír ki, de a fájlba nem. Tisztába vagyok vele, hogy debug, de attól még a fájlba kikéne írnia az adatokat.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- alza vélemények - tapasztalatok
- World of Warships
- HiFi műszaki szemmel - sztereó hangrendszerek
- Soundbar, soundplate, hangprojektor
- E-book olvasók
- Kerékpárosok, bringások ide!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- A fociról könnyedén, egy baráti társaságban
- GTA V
- Xbox Series X|S
- További aktív témák...
- Kèszletről,azonnal vihető 9060XT! Már kamatmentes rèszletre is! Èrdeklődj!
- Xiaomi 11T 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3962, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- 145 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


