Kezdőoldal » Számítástechnika » Programozás » Hogyan kellene ezt megoldani? (C)

Hogyan kellene ezt megoldani? (C)

Figyelt kérdés

Szeretnék csinalni egy olyan programot amiben 3 opció

(1=megnyitás,2=szerkesztés,3=kilépés)közül tudunk választani.Szval ha az 1est választom és beirom akkor nyisson meg egy adott fájlt a program.Remélem érthető.

Próbáltam switch-el if..else-el de egyikkel sem sikerült még eddig.


2011. márc. 5. 17:48
1 2
 1/11 anonim ***** válasza:

Pedig a switch és case-ekkel kell:

switch(v)

{

case 1:

megnyitás

case 2:

szerkesztés

case 3:

kilépés

}

Így próbáltad? A v a változód, a case-ek után pedig a műveletet átírod arra, amit szeretnél, if-ekkel így néz ki:

if(v==1){

megnyitás

}else if(v==2){

szerkesztés

}else if(v==3){

kilépés

}

Nem lehet, hogy a beolvasás volt a rossz, írasd ki a v változót, és megtudod, hogy jól olvastad-e be.

2011. márc. 5. 18:09
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

javítás az előzőhöz:

switch(v)

{

case 1:

megnyitás

break;

case 2:

szerkesztés

break;

case 3:

kilépés

break;

default:

hiba

break;

}

2011. márc. 5. 18:10
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:

#include <stdio.h>


const int OPEN = 1;

const int EDIT = 2;

const int EXIT = 3;


int main(){

int panel = 1;

printf("Válasszon(Open=1,Edit=2,Exit=3):\n");

scanf("%d",&panel);


switch(panel){

case 1:

{

FILE * pFile

pFile = fopen ("cnyelv.txt", "w+");

}

break;

case 2: printf("Szerkesztés\n");

break;

case 3: printf("Kilépés\n");

break;

default:printf("Nem adott meg semmit\n");

}

return 0;

}

2011. márc. 5. 18:17
 4/11 A kérdező kommentje:
Igy irtam meg a programot.De nem akar lefutni kiir 4-5 hibát.Szerinted mi lehet a baj benne?
2011. márc. 5. 18:17
 5/11 anonim ***** válasza:

Aztán rakd az egészet egy ciklusba.

do {

cuccok...

} while(panel != 3);

2011. márc. 5. 18:20
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

FILE * pFile - ez után nem raktál ; (pontosveszőt)

Ha már úgyis vannak const-jaid (az open-re...), akkor miért nem azokat használod?

2011. márc. 5. 18:21
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Hát így nem fog menni, a változók csak blokkon { } belül láthatóak. pl.


rossz:

{ int x=0; } x++;


jó:

int x;

{ x=0; } x++;


Ez most a FILE * pFile sorban rossz nálad, mellesleg nincs is utána pontosvessző.

2011. márc. 5. 18:23
Hasznos számodra ez a válasz?
 8/11 A kérdező kommentje:

háhh..raktam egy pontosvesszőt a pFile után és már le is fut a program és elvileg jol.Mast nem is módosítottam.

Lenne még egy kérdésem, hogy azt h kellene megoldani h megnyissa ugyan ezt a cnyelv.txt fájlt aztan kiirja h ("Kérem irja be a szöveget") beirok vmit és azt beirja a cnyelv.txt fájlba a benne levő szöveg után.Nagyon szépen köszönöm am a segitséget mindenkinek!Királyak vagytok (Y) :D

2011. márc. 5. 18:33
 9/11 anonim ***** válasza:

case 1:

{

FILE * pFile;

printf("Kérem a szöveget: ");

char c[255];

scanf("%s",c);

pFile = fopen("cnyelv.txt", "a+");

fprintf(pFile,"%s",c);

}

2011. márc. 5. 18:58
Hasznos számodra ez a válasz?
 10/11 A kérdező kommentje:
Köszönöm.Sikerült is, csak nem irja bele csak a szöveg elejét mindig.Hogy ha a char c [255]-öt nagyobbra irom ugy jo lesz?
2011. márc. 6. 01:53
1 2

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!