migf1 έγραψε:Τελικά έχουμε πολλά κενά παίδες, πρέπει να τα πιάσουμε από πολύ αρχή τα πράγματα νομίζω και να τα βάλουμε σε μια σειρά. Δεν ξέρω βέβαια κατά πόσο είστε διατεθειμένοι να ασχοληθείτε, διαπιστώνω όμως πως υπάρχουν βασικότατες ελλείψεις.
Σας δίνω τη λύση της άσκησης, την οποία για να είμαι ειλικρινής πίστευα πως θα σας φαινόταν πολύ απλή. Γράψτε αν είναι τι δεν καταλαβαίνετε (αν υπάρχουν σημεία που δεν καταλαβαίνετε) για να τα ξεδιαλύνουμε αν είναι, διότι αυτά είναι πάρα πολύ βασικά πράγματα.
Είδα που γράφετε πως έχετε διαβάσει βιβλία πάνω στη C και υπέθεσα πως αυτό θα σας φαινόταν απλό, αλλά τελικά νομίζω πρέπει να ξεκινήσουμε από αρκετά αρχή
Για δείτε τη λύση και γράψτε απορίες να τις επιλύσουμε αν είναι:
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
#define MAXINBUF 255+1
// ***********************************************************
char *s_get(char *s, size_t len)
{
char *cp;
for (cp=s; (*cp=getc(stdin)) != '\n' && (cp-s) < len-1; cp++ )
; // for-loop with empty body
*cp = '\0'; // null-terminate last character
return s;
}
// ***********************************************************
int main( void )
{
char inbuf[ MAXINBUF ];
char c;
int n1, n2;
long l1, l2;
float f1, f2;
printf("Enter a character: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
c = *inbuf; // απομόνωση του 1ου χαρακτήρα
printf("\tyou entered: %c\n\n", c); // τύπωμα του χαρακτήρα
printf("Integer #1: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
n1 = atoi(inbuf ); // μετατροπή της σε int (n1)
printf("Integer #2: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
n2 = atoi(inbuf ); // μετατροπή της σε int (n2)
printf("\t%d * %d = %d\n\n", n1, n2, n1*n2); // τύπωμα του γινομένου: n1*n2
printf("Long #1: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
l1 = atol(inbuf ); // μετατροπή της σε long (l1)
printf("Long #2: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
l2 = atol(inbuf ); // μετατροπή της σε long (l2)
printf("\t%ld + %ld = %d\n\n", l1, l2, l1+l2); // τύπωμα του αθροίσματος: l1+l2
printf("Float #1: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
f1 = atof(inbuf ); // μετατροπή της σε float (f1)
printf("Float #2: ");
s_get(inbuf, MAXINBUF); // διάβασμα γραμμής εισόδου
f2 = atof(inbuf ); // μετατροπή της σε float (f2)
printf("\t%f / %f = %f\n\n", f1, f2, f1/f2); // τύπωμα της διαίρεσης: f1/f2
return 0;
}
Οπα γκαφα..... ξεχασα να χρησιμοποιησω τις συναρτησεις που ειπες.... :/
Μωρε βιβλια εχουμε διαβασει (1) για την ακριβεια
Βεβαια η προσπαθεια δεν τελειωνει... δεν εχει σχεση το ενα με το αλλο.



