在c中使用struc显示输出的问题 [英] Problem on showing output by using struc in c

查看:81
本文介绍了在c中使用struc显示输出的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#include <stdio.h>

	struct COURSE{
 	char code[100];
	char name[100];
	char lecturer[100];
	int credit_hour;
};
	struct STUDENT_REC{
	char name[100];
	int gpa;
	int total_hours;
	struct ch_cs1;
 	struct ch_cs2;
 	struct ch_cs3;
	struct ch_cs4;
	struct ch_cs5;
	struct ch_cs6;
	struct ch_cs7;
	struct ch_cs8;
	struct ch_cs9;
	struct ch_cs10;
};
	

	void input_student_data(struct student_struct *st_rec);

	int computed_gpa(int average);

int main(void)
{
	struct student_struct student_record;
	
		{
		input_student_data(&student_record);
		
		printf("Student Name    :%s\n",student_record.student_name);
		printf("Subject Code    :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);
		printf("\nSubject Code  :%s\n",student_record.subject_code);
		printf("Subject Name    :%s\n",student_record.subject_name);
		printf("Lecturer Name   :%s\n",student_record.lecturer_name);
		printf("Credit Hour     :%s\n",student_record.credit_hour);

		
		printf("GPA             :%c\n",(student_record.gpa));
		}
	return 0;
}

	void input_student_data(struct student_struct *s)
	{	
		printf("Enter Student Name   :");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 1  :");
		scanf("%d",  &s->ch_cs1);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 2  :");
		scanf("%d",  &s->ch_cs2);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 3  :");
		scanf("%d",  &s->ch_cs3);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 4  :");
		scanf("%d",  &s->ch_cs4);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 5  :");
		scanf("%d",  &s->ch_cs5);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 6  :");
		scanf("%d",  &s->ch_cs6);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 7  :");
		scanf("%d",  &s->ch_cs7);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 8  :");
		scanf("%d",  &s->ch_cs8);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code   :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 9  :");
		scanf("%d",  &s->ch_cs9);
		printf("\n");
		gets(s->student_name);
		printf("Enter Subject Code    :");
		gets(s->subject_code);
		printf("Enter Subject Name   :");
		gets(s->subject_name);
		printf("Enter Lecturer Name  :");
		gets(s->lecturer_name);
		printf("Enter credit hour for course 10  :");
		scanf("%d",  &s->ch_cs10);
	}

  	int computed_gpa(int gpa)
		{
			char grade;
			if(gpa >=90)
				grade = ''4'';
			else if(gpa >=80)
				grade = ''3'';
			else if(gpa >=70)
				grade = ''2'';
			else if(gpa >=60)
				grade = ''1'';
			else
				grade = ''0'';
	return grade;
}



我可以知道为什么只显示最后一个输入吗? 1-9的输入未显示



may i know why it just show the last input only? 1-9 input did not show out

推荐答案

由于它不是确切的重新发布,因此我将尝试引导您朝着正确的方向前进:

Since its not an exact repost, I''ll try to lead you in the right direction:

struct STUDENT_REC{
    char name[100];
    int gpa;
    int total_hours;
    struct ch_cs1; //<-- What kind of structure is this? You're declaring that its a struct but not what type.
    struct ch_cs2;
    struct ch_cs3;
    struct ch_cs4;
    struct ch_cs5;
    struct ch_cs6;
    struct ch_cs7;
    struct ch_cs8;
    struct ch_cs9;
    struct ch_cs10;
};



这段代码显然是重复的,创建一个函数,然后遍历所有过程:



This code is clearly repeating, make a function to do so, then loop through all the course:

printf("Enter Subject Code   :");
gets(s->subject_code);
printf("Enter Subject Name   :");
gets(s->subject_name);
printf("Enter Lecturer Name  :");
gets(s->lecturer_name);
printf("Enter credit hour for course 1  :");
scanf("%d",  &s->ch_cs1);
printf("\n");



...而且,结构数组也是合法的,因此实现了更简洁的实现(稍后将允许循环):



...And, arrays of structures are also legal, so a cleaner implementation (that''ll allow the looping later):

struct STUDENT_REC{
    char name[100];
    int gpa;
    int total_hours;
    struct COURSE courses[10];
};


您的代码
printf("Enter credit hour for course 9  :");
        scanf("%d",  &s->ch_cs9);
        printf("\n");



在每一行中尝试一下:



try this in every line:

printf("\n Enter credit hour for course 9 :");
                  scanf("%d",&s->ch_cs9);


这篇关于在c中使用struc显示输出的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆