Πώς τα πάμε από λίστες??SOS

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
karetta_seaworld
Δημοσιεύσεις: 6
Εγγραφή: 31 Μαρ 2015 01:28

Πώς τα πάμε από λίστες??SOS

Δημοσίευση από karetta_seaworld » 22 Ιούλ 2015 21:59

καλησπέρα!!!έχω να φτιάξω μια απλά συνδεμένη λίστα και δυσκολευόμαι να την τελειώσω!!όποιος/όποια γνωρίζει ας μου εξηγήσει τι κάνω λάθος και πώς θα μπορούσε να είναι σωστό το αποτέλεσμα!!το πρόγραμμα ζητάει το εξής:


Να φτιαχτεί μια απλή συνδεμένη λίστα της οποίας τα στοιχείας της λίστα να είναι του είδους node και να περιέχουν το όνομα ενός ατόμου ,τον αριθμό μητρώου του και το οφειλόμενο σε αυτόν ποσόν.Στοιχεία εισάγονται στην λίστα μέχρι να δοθεί αριθμός μητρώου μηδεν.Το πρόγραμα δεν προβλέπει το ενδεχόμενο να δοθεί ίδιος αριθμός μητρώου για δύο άτομα(αυτό δεν το έχω υλοποιήσει παρακάτω και δεν ξερω πως!!).
Μετά την καταχώρηση τών στοιχείων το πρόγραμμα με την χρήση της συνάρτησης display () εμφανίζει στην οθόνη τα ονόματα ,τους αριθμούς μητρώων των ατόμων που έχουν καταχωρηθεί στην λίστα και το ποσόν που οφείλεται σε καθένα.
Να γραφεί μια συνάρτηση η οποία την ofeiles η οποία να αθροίζει τα ποσά που οφείλονται σε όλα τα άτομα της λίστας της άσκησης 1 και να υπολογίζει τον μέσο όρο των οφειλόμενων ποσών στα άτομα της λίστας.Η main() να γράφει στην οθόνη το συνολικό οφειλόμενο ποσόν και το μέσο όρο των οφειλώμενων ποσών.


έχω κάνει το εξής!!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>


struct node
{
char name[30];
int am;
float poson;
struct node *next;
};


void display(struct node*);

int main()
{
struct node* head,*curr,*ptr,*p;
char nol[8];
int num;

head=(struct node*)malloc(sizeof(strucy node));
curr=ptr=head;
curr->next=NULL;
printf("dwste arithmo mhtwoy");
gets(nol);
num=atoi(nol);

while(num>0)
{
curr->am=num;
printf("dwste onoma");
gets(curr->name);
printf("dwste poson");
gets(nol);
curr->poson=atof(nol);
curr->next=(struct node*)malloc(sizeof(struct node));
curr=curr->next;
curr->next=NULL;
printf("dwste epomeno arithmo mhtrwoy");
gets(nol);
num=atoi(nol);
}
}




void ofeiles(struct node *p)
{
while(p->next!=NULL)
{
p=p->next;
p->poson=p->poson+1;
}
mo=p->poson/30;
}





[/code]

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Πώς τα πάμε από λίστες??SOS

Δημοσίευση από gvre » 23 Ιούλ 2015 11:12

karetta_seaworld έγραψε:καλησπέρα!!!έχω να φτιάξω μια απλά συνδεμένη λίστα και δυσκολευόμαι να την τελειώσω!!όποιος/όποια γνωρίζει ας μου εξηγήσει τι κάνω λάθος
Το λάθος που κάνεις είναι ότι προσπαθείς να γράψεις κώδικα για λίστες χωρίς να έχεις τις βασικές γνώσεις προγραμματισμού. Οπότε, μπορείς να ξεκινήσεις με συναρτήσεις και απλούστερες δομές δεδομένων (πχ. πίνακες) και όταν τα μάθεις, προχωράς και στις λίστες (μια αναζήτηση για "linked lists in c" θα σου δώσει αρκετό υλικό).
Τέλος, επειδή η περιοχή αφορά σε C και C++, καλό είναι να αναφέρεις τη γλώσσα που χρησιμοποιείς.

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες