Hallitsetko c-kielen?
Yritän tehdä ohjelmaa joka pyytää salaatille, pääruualle ja jälkiruualle arvosanat ja sen jälkeen laskisi niille keskiarvon. Tekeleeni tulee tässä mukana, niin kerrotko missä vika piilee?
/*Anna arvosanat kouluruuallesi.*/
#include
#include
void main(void)
{
int luku;//Luku
luku=laske_lasku(1,5);
printf("Tulos:%d,luku);
/*clrscr();*/
printf("\n * * * * * * * * * * *");
printf("\n * Anna arvosana *");
printf("\n * Kouluruualle *");
printf("\n * ----------------- *");
printf("\n * x) lopetus *");
printf("\n * *");
printf("\n * * * * * * * * * * *");
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana salaatille : ");
scanf("%f",&arvosana );
printf("arvosana salaatille %f",arvosana);
getch();
}
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana p„„ruualle : ");
scanf("%f",&arvosana );
printf("arvosana p„„ruualle %f",arvosana);
getch();
}
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana j„lkiruualle : ");
scanf("%f",&arvosana );
printf("arvosana j„lkiruuualle %f",arvosana);
/*clrscr();*/
float keskiarvo;
printf("\n Kolmen ruuan keskiarvo on %2.2f\n\n\n",ka);
}
getch();
return 0;
}
Yritän tehdä ohjelmaa joka pyytää salaatille, pääruualle ja jälkiruualle arvosanat ja sen jälkeen laskisi niille keskiarvon. Tekeleeni tulee tässä mukana, niin kerrotko missä vika piilee?
/*Anna arvosanat kouluruuallesi.*/
#include
#include
void main(void)
{
int luku;//Luku
luku=laske_lasku(1,5);
printf("Tulos:%d,luku);
/*clrscr();*/
printf("\n * * * * * * * * * * *");
printf("\n * Anna arvosana *");
printf("\n * Kouluruualle *");
printf("\n * ----------------- *");
printf("\n * x) lopetus *");
printf("\n * *");
printf("\n * * * * * * * * * * *");
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana salaatille : ");
scanf("%f",&arvosana );
printf("arvosana salaatille %f",arvosana);
getch();
}
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana p„„ruualle : ");
scanf("%f",&arvosana );
printf("arvosana p„„ruualle %f",arvosana);
getch();
}
{
do
{
printf("\nSALAATTI=1 P„„RUOKA=2 J„LKIRUOKA=3\n");
printf(" Valinnan oltava v„lilt„ 1-5\n");
printf("\n Anna arvosana j„lkiruualle : ");
scanf("%f",&arvosana );
printf("arvosana j„lkiruuualle %f",arvosana);
/*clrscr();*/
float keskiarvo;
printf("\n Kolmen ruuan keskiarvo on %2.2f\n\n\n",ka);
}
getch();
return 0;
}
Vastaukset 13
Vanhimmat
>...kerrotko missä vika piilee?
Kerrotko ensin mikä on vialla ?
Ei millään viitsisi ruveta itse kääntämään ja kokeileen. :)
Auttaako jos lähetän kääntämisen ilmoittamat virheet?
8 missing terminating " character
In function `main':
14 parse error before "printf"
27 `arvosana' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
33 parse error before '{' token
55 `ka' undeclared (first use in this function)
59 parse error at end of input
Ensinnäkin, do:ta käytetään vain muodossa:
do
{
// jotain täällä
} while(lopetusehto);
parse error johtuu virheestä printf:n sisällä. (ylim. merkkejä tai jotain puuttuu)
undeclared... tahtoo vihjata esittelemättömästä funktiosta tai muuttjasta
Kääntäjä yseävällisesti kertoo rivin, missä ongelma löytyy. Yritä ensin löytää itse noiden vihjeiden perusteella missä vika voisi olla.
Ja samantien tarkennusta/korjausta:
parse error kertoo tietenkin sen, että lause ei ollut sen muotoinen kuin pitäisi.
Kiitos vain noista selvityksistä, tuntuu olevan joillakin ohjelmointikieli olevan hanskassa, mutta täällä ollaan ihan pihalla. Kokeilinpa mitä vaan niin aina tulee sitten uusia ja uusia herjoja. Nyt tuntuu ihan siltä, että täällä päässä luovutetaan!! En todellakaan saa onnistumaan.
#include
#include
#include
int main()
{
cout > paaryna;
cout > salaatti;
cout > peruna;
KA = ((paaryna salaatti peruna)/3);
cout
Muokataan hiukan
#include
#include
#include
int main()
{
double salaatti = 0;
double paaruoka = 0;
double jalkiruoka = 0;
double KA = 0;
cout > salaatti;
cout > paaruoka;
cout > jalkiruoka;
KA = ((salaatti paaruoka jalkiruoka)/3);
cout
8 missing terminating " character
In function `main':
sulje kaikki "-lausekkeet oikein", kenties arvo-muuttujan määrittelyn virhe! Tulos-luku, heti alussa joka viittaa seuraavaankin virheeseen.
14 parse error before "printf"
27 `arvosana' undeclared (first use in this function) int arvosanaa ei ole määritelty
(Each undeclared identifier is reported only once
for each function it appears in.)
33 parse error before '{' token
55 `ka' undeclared (first use in this function)muuta keskiarvoon %d tai %f ja määrittele se scanf
59 parse error at end of input
Jos luet vielä tätä, niin ei onnaa vaikka yritän mitä. Aina vaan tulee uusi virheilmoitus eri riville. Jos sinulla on kiinnostusta ja mielenkiintoa niin voisitko tehdä tämän minulle, sehän on ihan näppärä juttu kopioida ja muokata. Tunnut olevan C-kielen asiantuntija. Olisin tosi kiitollinen. Tarjoan "kahvit" palveluksestasi!
vika piilee tässä:
- ylimääräisiä kaarisulkuja siellä täällä
- käytetään muuttujia joita ei ole esitelty
- syntaksi virheitä(do-lohkot väärin)
- käytetään funktiota jota ei ole esitelty/toteutettu
http://www.google.com/search?hl=fi&client=firefox-a&rls=org.mozilla:fi-FI:official_s&q=c ohjelmointi opas&btnG=Hae&lr=
Mielenkiintoista nähdä, että noin moni on lukenut viestin, mutta vain joku viitsii kirjoitella. Nyt alkaa paukut olla vähissä täällä päässä. Olen nimittäin kokeillut vaikka mitä enkä saa toimimaan. Viikonloppu tässä menee kokonaan piloille. Jos joku sellainen sattuu eksymään tänne, joka osaa, niin voisiko hän jelpata. Tarkoitan tällä sitä, että laittaa korjaukset alkuperäiseen tekstiin. Jos se ei sittenkään toimi lupaan olla pyytämättä apua!
Kiitos vain kaikille kovasti avusta, mutta kuitenkin itse loppujenlopuksi ratkaisin ongelman.
Nyt pyytää arvosanat, mutta keskiarvoa ei vielä laske oikein, mutta pystyn vielä ratkaisemaan senkin ihan itse.
Tässä sulle valmis ruoka.c koodi. Itke ja ihmettele!
--------------------------
/*Anna arvosanat kouluruuallesi.*/
#include
#include
void main() { int x,y,z;float ka;
printf("\n * * * * * * * * * * *");
printf("\n * Anna arvosana *");
printf("\n * Kouluruualle *");
printf("\n * ----------------- *");
printf("\n * x) lopetus *");
printf("\n * *");
printf("\n * * * * * * * * * * *");
x=salaatti();y=paaruoka();z=jalkiruoka();keskiarvo(x,y,z);}
int salaatti(){int a;do
{ printf("\nSALAATTI=1 PAARUOKA=2 JALKIRUOKA=3\n");
printf(" Valinnan oltava valilta 1-5\n");
printf("\n Anna arvosana salaatille : ");
scanf("%d",&a);
printf("arvosana salaatille %d",a);}
while(a>=6 | a == 0);return(a);}int paaruoka()
{int b;do{
printf("\nSALAATTI=1 PAARUOKA=2 JALKIRUOKA=3\n");
printf(" Valinnan oltava VALILTA 1-5\n");
printf("\n Anna arvosana paaruualle : ");
scanf("%d",&b); printf("arvosana pAAruualle %d",b); }
while(b >=6 | b== 0);return(b);}
int jalkiruoka(){
int c;do{
printf("\nSALAATTI=1 PAARUOKA=2 JALKIRUOKA=3\n");
printf(" Valinnan oltava valilta 1-5\n");
printf("\n Anna arvosana jalkiruualle : ");
scanf("%d",&c);
printf("arvosana jalkiruuualle %d",c); }
while(c >=6 | c == 0);return(c);
}int keskiarvo(int x, int y, int z){
float keskari;int summa;summa=x+y+z;
keskari=(float)summa/3;
printf("\n\nKolmen ruuan keskiarvo on: %.2f\n\n\n",keskari);
}