- Google Chromecast topic
- TV antenna és jelerősítés
- Úgy tér vissza a Commodore 64, ahogy titkon mindenki várja
- Kezdő fotósok digitális fényképei
- Kormányok / autós szimulátorok topikja
- Milyen házat vegyek?
- Soundbar, soundplate, hangprojektor
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- OLED TV topic
- Milyen videókártyát?
-
PROHARDVER!
Ú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!
- ÁRCSÖKKENTÉS Lenovo ThinkPad T570, T580, P51s, P52s eredeti Lenovo, belső akkumulátor eladó
- Egyedi ékszerdobozka
- BESZÁMÍTÁS! Gigabyte AB350 R5 2400G 8GB DDR4 240GB SSD 500GB HDD GTX 1060 3GB Rampage SHIVA 350W
- DOKKOLÓ BAZÁR! Lenovo, HP, DELL és egyéb más dokkolók (TELJES SZETTEK)
- iKing.Hu - Samsung Galaxy S25 Plus Navy 12/256 GB Újszerű, karcmentes állapotban!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest