通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?

本文介绍了如何使用C语言设计和编写一个学生信息管理系统。通过文件操作、结构体定义、函数应用,详细讲解了如何存储和管理学生信息,包括宿舍号码、姓名、性别、年龄和班级等数据。同时,提到了程序的结构化设计,如显示欢迎界面、验证用户、显示菜单等功能的实现。通过这个项目,读者可以加深对C语言的理解和软件工程方法的应用。
摘要由CSDN通过智能技术生成

1.从文件操作角度分析:从键盘接收一个字符串然后显示是

#include<stdio.h>

int main()

{

  char a[10];

  scanf("%s",&a);

  printf("%s \n",a);

}

运行后找右上角的“文件-新建-文件-选择c++ source File ”然后命名,名字后的扩展名为“.c”,然后确定,你的c源文件就创好了! #include“stdio.h” main() { 这里面就开始编程了,注意,所有的编程语句都必须是英语的! }

printf和scanf前面加f,成为fprint和fscanf,表示向文件输出和从文件输入,不是向屏幕输出和从键盘输入。

 

打开文件的语句是

fopen(文件位置,打开模式);

文件位置好理解,就是文件所在的位置,例如c://test.txt

打开模式有几种,

r(read): 读

w(write): 写

a(append): 追加

t(text): 文本文件,可省略不写

b(banary): 二进制文件

+: 读和写

一般是rt+,也可以写成r+,和w+,就是读和写,能保留原来的内容。

所以打开C盘下my目录中的文件c:\my\test.txt的语句是

 

fp=fopen("c://my/test.txt","r+");

注意文件夹符号同上面的不同。

基本的文件的读写语句。有文件的读写后,才能进行管理系统的开发,因为你的很多信息要存放到文件中才行,否则在程序中,关机后数据就没有了。

2.从结构化程序和函数角度分析:结构体首先要定义,因为每个程序用到的组合在一起的信息不一样,例如学生信息管理系统中,可能要将宿舍号码、姓名、性别、年龄、班级组合到一起,所以 第一行用struct告诉程序,下面是一个结构体,后面的stu是这个结构体的类型,类似整数用int表示,这个stu是你自己起的名字。

typedef stu 

{   intnum;/*宿舍号码 */

   char name[20];/*姓名*/

         charsex[5];/*性别*/

         intage;/*年龄*/

         charsclass[20];/*班级*/

         };

这个结构体中,包括了5个变量。

这样就有了一个新的变量类型,stu,这个变量类型是你自己定义的,同int,float是一样的。

如果定义一个整数变量a,你一定知道是

int a;

a=3;

那个定义一个你自己定义的stu类型的变量a,这样的形式,其中前面的struct告诉编译程序,这个stu是你自己定义的结构体类型,后面的a就是一个结构体变量了。

struct stu a;

但是赋值的时候,因为这个时候的a,代表了很多的信息,有num,name,sex,class,就是a中实际上是包括了很多的变量,那么怎么赋值呢?用点运算符”.”,就是a.num,a.name,a.sex,a.class,这个道理类似刚才提到的记录本每一页记录很多信息,这个a就代表1页纸,里面有很多信息栏,这一页纸的学号栏就用a.num表示,其他类似。如果有很多学生怎么办呢?那就多设置几个stu类型的变量,例如a1,a2,a3…就行放很多同学的信息,你一定想到,这不是一个好办法,因为信息都一样,有就是登记本每一页的格式都是一样的,这种方式适合用数组,

stu a[80];

这样,分别用a[0],a[1],a[2],…就可以存放至多到80个同学的信息了。

所以程序可以这样

#include<stdio.h>

 

struct stu 

{   intnum; /*宿舍号码 */

   char name[20];/*姓名*/

         charsex[5];/*性别*/

         intage;/*年龄*/

         charsclass[20];/*班级*/

};

int main()

{

         structstu a;

         printf("依次输入宿舍号码,姓名,性别,年龄,班级,用回车分割,系统会显示输入的内容 \n");

         scanf("%d%s%s%d%s",&a.num,&a.name,&a.sex,&a.age,&a.sclass);

         printf("以下是刚才输入的信息保存到stu类型变量a中后的结果 \n");

         printf("%d%s%s%d%s",&a.num,&a.name,&a.sex,&a.age,&a.sclass);

}

将不同的代码放到一起,用大括号括起来,然后给这段代码起个名字表示,类似咱们班级的名字,然后还要设置上参数,一遍使用这个函数的时候向里传递实际的值,类似一个加法的函数,完成两个数的相加,我们可以写成

myadd(int a, int b)

{

   intc;

  c=a+b;

  re

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值