Προς το περιεχόμενο

Που είναι το λάθος ;


we_will_rise

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά έκανε σε C ένα προγραμματάκι για να υπολογίζω το ποσό που πληρώνω κάθε ένοικος ανάλογα με τις κιλοβατόρες και δεν τρέχει, τι έκανα λάθος ;;

 

ο κώδικας:

 

 

#include <stdio.h>

#include <math.h>

#include <conio.h>

 

void enanti();

void ekkathar();

 

main()

{

char log;

 

printf ("Programma Ypologismou Pliroteou posou gia DEI\n\n\n\n\n");

printf ("Dose EN gia enanti logariasmo i EK gia ekka8aristiko: ");

scanf ("%c",&log);

 

if (log=='EN')

enanti();

else

ekkathar();

 

getch();

}

 

void enanti(){

float poso,gior,nik,tade;

 

printf ("\nDose to synoliko poso: ");

scanf ("%f",&poso);

gior=0.4*poso;

nik=0.3*poso;

tade=0.3*poso;

printf ("\nGiorgos: %f Nikos: %f Tade: %f",gior,nik,tade);

}

 

void ekkathar(){

float poso,giorgoswat,x,nikoswat,y,tadewat,z,synwat;

 

printf ("\nDose to synoliko poso: ");

scanf ("%f",&poso);

 

("\nDose tis kilowatores pou ekapse o Giorgos: ");

scanf("%f",&giorgoswat);

 

("\nDose tis kilowatores pou ekapse o Nikos: ");

scanf("%f",&nikoswat);

 

("\nDose tis kilowatores pou ekapse i Tade: ");

scanf("%f",&tadewat);

 

("\nDose tis synolikes kilowatores: ");

scanf("%f",&synwat);

 

x=(100*giorgoswat)/synwat;

y=(100*nikoswat)/synwat;

z=(100*tadewat)/synwat;

 

printf ("\nGiorgos: x\100*poso,Nikos: y\100*poso,Tade: z\100*poso");

}

 

 

και μου βγάζει αυτό:

 

66522120dn4.th.png

 

το λάθος πρέπει να είναι παιδαριώδες αλλά δεν μου έρχεται τώρα...

Δημοσ.

Πρέπει να φτιαχτεί ένα sticky "ΣΤΗ C ΔΕΝ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ == ΓΙΑ STRINGS".

Πάντως δεν κοίταξα αν έχει άλλα λάθη ποιο κάτω..

 

Από κει και πέρα:

printf ("\nGiorgos: x\100*poso,Nikos: y\100*poso,Tade: z\100*poso");

Αυτό ασφαλώς και δεν δουλεύει...

 

Και τελικά στο εκκαθάρ εχεις ένα σωρό "κλήσεις συναρτήσεων" χωρίς το όνομά τους και δεν εχω ιδέα γιατι δεν σου έβγαλε έστω και warning.

 

π.χ : ("\nDose tis kilowatores pou ekapse o Giorgos: ");

Δημοσ.
Πρέπει να φτιαχτεί ένα sticky "ΣΤΗ C ΔΕΝ ΧΡΗΣΙΜΟΠΟΙΟΥΜΕ == ΓΙΑ STRINGS".

Πάντως δεν κοίταξα αν έχει άλλα λάθη ποιο κάτω..

 

Από κει και πέρα:

printf ("\nGiorgos: x\100*poso,Nikos: y\100*poso,Tade: z\100*poso");

Αυτό ασφαλώς και δεν δουλεύει...

 

Και τελικά στο εκκαθάρ εχεις ένα σωρό "κλήσεις συναρτήσεων" χωρίς το όνομά τους και δεν εχω ιδέα γιατι δεν σου έβγαλε έστω και warning.

 

π.χ : ("\nDose tis kilowatores pou ekapse o Giorgos: ");

 

Που τις είδες ;

 

και το άλλο οτι δεν δουλεύει το πρόσεξα,μπορείς να μου πεις το σωστό;

Δημοσ.

("\nDose tis kilowatores pou ekapse o Giorgos: ");

scanf("%f",&giorgoswat);

 

("\nDose tis kilowatores pou ekapse o Nikos: ");

scanf("%f",&nikoswat);

 

("\nDose tis kilowatores pou ekapse i Tade: ");

scanf("%f",&tadewat);

 

("\nDose tis synolikes kilowatores: ");

scanf("%f",&synwat);

Δημοσ.
("\nDose tis kilowatores pou ekapse o Giorgos: ");

scanf("%f",&giorgoswat);

 

("\nDose tis kilowatores pou ekapse o Nikos: ");

scanf("%f",&nikoswat);

 

("\nDose tis kilowatores pou ekapse i Tade: ");

scanf("%f",&tadewat);

 

("\nDose tis synolikes kilowatores: ");

scanf("%f",&synwat);

 

έχουν printf από μπροστά, έκανα μλκ στο c/p

Δημοσ.

με μια γρηγορη ματια παρατηρησα :

 

1.οταν δουλευεις με strings σχεδον παντα πρεπει να περιλαμβανεις και το

#include <string.h>.

 

 

2.για να συγκρινουμε 2 strings χρησιμοποιούμε την συναρτηση strcmp (που βρισκεται μεσα στη <string.h>) ως εξης : εστω οτι εχουμε 2 strings α,b.

 

αν ειναι ακριβως τα ιδια τοτε strcmp(a, B)==0

αν a>b (αλφαβητικα) τοτε strcmp(a, B)==καποιος θετικος αριθμος

αν a<b (αλφαβητικα) τοτε strcmp(α,B)==καποιος αρνητικος αριθμος

 

3.ασχετο αλλα δε καταλαβα γιατι εκανες include την <conio.h> και την <math.h> αφου αποτι βλεπω δε χρησιμοποιεις καμια συναρτηση

απο εκει

Δημοσ.

Αυτό που είδα σαν σοβαρότερο πρόβλημα, δεν έχει να κάνει με προγραμματισμό, αλλά με τον τρόπο που υπολογίζεις τα ποσά στον εκκαθαριστικό. Το δίκαιο είναι π.χ. για τον Γίωργο

 

Γίωργος-Ποσό = 0.4 x (πάγιο έναντι + πάγιο εκκαθαρ.) + (watts Γιώργου)/(συνολικά watts) x (ρεύμα έναντι + ρεύμα εκκαθαρ.) - 0.4 x έναντι

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...