十二次作业!

 

三道题老师上课都讲了,这样做起来就好了很多,知道自己该往哪个样子去做了,但是虽然讲了,还是有很多不明白的地方,下课以后还是要自己琢磨,

才真的能做作业!

 

1.定义结构体类型student,要求其中包括学号,姓名,年龄,性别,电话,系别,成绩等信息

 

这道题写了好久,也问了助教,一些基本的知识还是掌握的不扎实,还是缺乏练习。还有就是一种方法运行不了,要换另一种方式去试一试也许就能行得通。以后还要多请教老师,多看书,才能懂得更多。

#include<stdio.h>
struct student
   { 
      int a;//学号 
      char name[20];
      int age;
      char b;//性别 男:M 女:F 
      int phone; 
      char c[20]; 
      int text;  
   }; 
int main()
{
      student s1=
          
      {    
          160809316,
          "guoyuxin",
          20,
          'F' , 
          1343990636 ,
        "computer" ,
          90,
         };  
      printf("学号:%d  姓名:%s  年龄:%d  性别:%c  电话:%d   系别:%s  成绩:%d  \n",s1.a,s1.name,s1.age,s1.b,s1.phone,s1.c,s1.text);
      return 0;      
}

 

 

2、用fscanf和fprintf语句实现将input.txt文件中存储的学生信息复制到output.txt文件中。

 

这道题能运行,但是输出的信息都是乱码,不知道哪里有问题。

#include<stdio.h>
#include<stdlib.h> 
struct student
  { 
      int a;//学号 
      char name[20];
      int age;
      char b;//性别 男:M 女:F 
      int phone; 
      char c[20]; 
      int text;
   }; 
int main()
   {
      student class3[31];
      FILE *fp=fopen("D:\\input.txt","w");//"r".为读而打开文本文件.(不存在则出错)
      fscanf(fp,"学号:%d  姓名:%s  年龄:%d  性别:%c  电话:%d   系别:%s  成绩:%d  \n",class3[0].a,class3[0].name,class3[0].age,class3[0].b,class3[0].phone,class3[0].c,class3[0].text); 
      fclose(fp);
      FILE *fd=fopen("D:\\output.txt","w");//"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖)
      fprintf(fd,"学号:%d  姓名:%s  年龄:%d  性别:%c  电话:%d   系别:%s  成绩:%d  \n",class3[0].a,class3[0].name,class3[0].age,class3[0].b,class3[0].phone,class3[0].c,class3[0].text);
      fclose(fd);
      printf("学号:%d  姓名:%s  年龄:%d  性别:%c  电话:%d   系别:%s  成绩:%d  \n");
      return 0;    
    } 
     

3、实现课上讲解的”学生管理系统“中第一个菜单“”添加学生信息“”模块的功能,即当用户选择“添加学生信息”菜单时,提示用户输入学生的学号、姓名、年龄等信息,并将输入的信息添加到student.txt文件中。

 

这题,运行到一半就退出了,感觉自己编的很混乱!

#include<stdio.h>
 struct student
  {
         
       char a;//学号 
       char name[20];
       int age;
       char b;//性别 男:M 女:F 
   };
int ch;
student s1;
void addStudent()

   {

      FILE *fp=fopen("D:\\input.txt","a+");//a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  
  do 
    { 
     printf("请输入学号:");
     scanf("%d",s1.a) ;
     printf("请输入姓名:");
     scanf("%s",s1.name) ;
     printf("请输入年龄:");
     scanf("%d",s1.age) ; 
     printf("请输入性别(男:M,女:F):");
     scanf("%c",s1.b) ;
     fprintf(fp,"\n %d %s %d %c ",s1.a,s1.name,s1.age,s1.b);
     printf("信息添加成功,是否继续添加学生信息(1(Yes)/2(No)?");
     scanf("%d",&ch);
    }
      while(ch==1);
      printf("提示:输入完毕!") ;
   }
   
int main()
   {
      
      printf("--------------------\n");
      printf("添加学生信息");
   
       printf("请输入(1(Yes)/2(No):\n");
    int c,s1;
    scanf("%d",&c);
   if(c==1)
        addStudent();
   return 0;        
       
   }

 

posted on 2016-12-15 21:41  bgd160809316  阅读(177)  评论(1编辑  收藏  举报