J'ai des problèmes avec les définitions de structure. Je comprends la syntaxe mais je ne peux pas l'utiliser correctement pour faire un programme de travail. Mon devoir est de définir un type de structure element_t
pour représenter l'un des éléments de la table périodique. Les composants doivent inclure un nombre atomique, un nom, un symbole, une classe, un poids et un tableau à sept éléments d'entiers pour le nombre d'électrons dans chaque coquille. Ce qui suit sont les composants d'une structure element_t
pour le sodium.Définition de la structure initialisée
11 Sodium Na alkali_metal 22.9898 2 8 1 0 0 0 0
Define et fonctions E/S essai scan_element
et print_element
. Voici mon code ... mais pas utile. Je ne comprends pas pourquoi le compilateur dit que je n'ai pas initialisé element_t. Merci d'avance.
*** Terminé avec le code suivant, a également ajouté les boucles appropriées et les signes & bien qu'il ne soit pas montré ci-dessous et tout a bien fonctionné. J'étais curieux de savoir comment les diapositives powerpoint de ma classe utilisaient {2 8 1 0 0 0 0} pour remplir le tableau int au lieu d'une boucle. Le livre que j'utilise utilise aussi la méthode de la boucle, mais je voulais essayer la {} façon de le faire. Merci encore.
#include <stdio.h>
#include <string.h>
typedef struct {
int atomic_num;
char* element_name; revised: char element_name[25];
char* element_symbol; revised: element_symbol[2];
char* element_class; revised: char element_class[25];
double atomic_weight;
int electrons[7];
} element_t;
int scan_element(); revised: element_t scan_element();
void print_element(element_t my_element);
int scan_element() {
element_t my_element;
printf("Enter Atomic Number> ");
scanf("%d", my_element.atomic_num);
printf("Enter Element Name> ");
scanf("%s", my_element.element_name);
printf("Enter Element Symbol> ");
scanf("%s", my_element.element_symbol);
printf("Enter Element Class> ");
scanf("%s", my_element.element_class);
printf("Enter Atomic Weight> ");
scanf("%lf", my_element.atomic_weight);
printf("Enter Electons in each shell> ");
scanf("%d", my_element.electrons);
print_element(my_element);
return 0;
}
void print_element(element_t my_element) {
printf("%d %s %s %s %lf %d \n",my_element.atomic_num,my_element.element_name, my_element.element_symbol,my_element.element_class,my_element.atomic_weight,&my_element.electrons);
}
int main()
{
scan_element(); revised: print_element(scan_element());
return 0;
}
S'il vous plaît poster votre erreur et réduire votre code au moins par exemple possible. – djechlin
Selon vous, quelle partie initialise votre element_t my_element? –