如何使用Python选课系统开发程序

如何使用Python选课系统开发程序,第1张

ython是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。

那Python是一种什么语言?

首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

这个是我以前做个的挺好的系统,你可以改改,很简单。我也给你邮箱发了一份,注意查收,一定给我分啊!!!

#include <stdlibh>

#include <stdioh>

#include <stringh>

#define MAXN 35

#define MAX_NAME 256

typedef struct student //学生信息

{

int no;

char name[MAX_NAME];

double english;

double math;

double Programming;

double mark_ave;

double mark_tot;

} STUDENT;

/-----------输入信息子程序---------/

void input(STUDENT data, int len)

{

int no;

putchar('\n');

printf("%s\n", "请输入新的记录,如果需要退出当前菜单请输入0");

printf("%s\n", "格式:\n学号\n");

printf("%s\n", "姓名 英语 数学 C语言");

putchar('\n');

scanf("%d", &no);

while(no != 0) {

data[len]no = no;

scanf("%s %lf %lf %lf", data[len]name, &data[len]english, &data[len]math,&data[len]Programming);

data[len]mark_ave=(data[len]english+data[len]math+data[len]Programming)/30;

data[len]mark_tot=data[len]english+data[len]math+data[len]Programming;

(len)++;

scanf("%d", &no);

}

}

/---------------输出信息子程序---------------/

void output(STUDENT data, int len)

{

int i;

system("cls");

printf("%8s", "学号");

printf("%8s", "姓名");

printf("%8s", "英语");

printf("%8s", "数学");

printf("%10s", "C语言");

printf("%12s", "平均分");

printf("%10s", "总分");

putchar('\n');

for (i =0; i < 80; i++)

putchar('=');

putchar('\n');

for (i = 0; i< len; i++)

{

printf("%8d", data[i]no);

printf("%8s", data[i]name);

printf("%81lf", data[i]english);

printf("%81lf", data[i]math);

printf("%101lf", data[i]Programming);

printf("%121lf", data[i]mark_ave);

printf("%101lf", data[i]mark_tot);

putchar('\n');

}

for (i =0; i < 80; i++)

putchar('=');

putchar('\n');

printf("按回车键继续");

getchar();

getchar();

}

/--------------------搜索子程序-----------------------/

void find(STUDENT data, int len)

{

int find_no, result ;

int i;

lab: result=0;

printf("%s\n", "请输入需要查找的学生的学号,退出当前菜单请输入 -1");

scanf("%d", &find_no);

if (find_no == -1) return; /exit the fine sub program/

while( data[result]no != find_no && result < len) result ++;

if (result >= len ) {

printf("%s\n", "未查询到相关信息");

goto lab;

}

else {

system("cls");

printf("%s\n", "查询信息如下:");

for (i =0; i < 80; i++)

putchar('=');

putchar('\n');

printf("%8s", "学号");

printf("%8s", "姓名");

printf("%8s", "英语");

printf("%8s", "数学");

printf("%10s", "C语言");

printf("%12s", "平均分");

printf("%10s", "总分");

putchar('\n');

printf("%8d", data[result]no);

printf("%8s", data[result]name);

printf("%81lf", data[result]english);

printf("%81lf", data[result]math);

printf("%101lf", data[result]Programming);

printf("%121lf", data[result]mark_ave);

printf("%101lf", data[result]mark_tot);

putchar('\n');

for (i =0; i < 80; i++)

putchar('=');

putchar('\n');

goto lab;

}

}

/-----------------插入子程序-------------/

void insert(STUDENT data, int len)

{

int no, pos;

double english, math, Programming, mark_ave, mark_tot;

int i;

char name[MAX_NAME];

lab: printf("%s\n", "输入新的记录,退出当前菜单请输入-1");

printf("%s\n", "格式:学号");

printf("%s\n", " 姓名 英语 数学 C语言");

scanf("%d", &no);

if (no == -1) return;

data[len]no = no;

scanf("%s %lf %lf %lf", name, &english, &math, &Programming);

mark_ave=(english+math+Programming)/30;

mark_tot=english+math+Programming;

pos = 0;

while ((data[pos]mark_ave < mark_ave) && (pos < len) )

pos ++;

for (i = len-1; i >= pos; i--)

data[i+1] = data[i];

data[pos]no = no;

strcpy(data[pos]name, name);

data[pos]english = english;

data[pos]math = math;

data[pos]Programming = Programming;

data[pos]mark_ave = mark_ave;

data[pos]mark_tot = mark_tot;

(len)++;

goto lab;

}

/-------------删除子程序--------------/

void delete_item(STUDENT data, int len)

{

int no, i, pos;

lab: pos=0;

printf("%s\n", "输入需要删除的学生的学号,退出当前菜单请输入-1");

scanf("%d", &no);

if (no == -1) return;

while( (data[pos]no != no) && (pos < len) ) pos = pos +1;

if (pos >= len) {

printf("%s\n", "未找到需要删除的学生");

goto lab;

}

else {

for (i = pos+1;i < len; i++)

data[i-1] = data[i];

len = len -1;

if (len == 0) {

printf("%s\n", "没有任何记录,请按回车键返回");

getchar();

getchar();

return;

}

goto lab;

}

}

/---------------显示信息子程序------------/

void paint()

{

int i;

system("cls");

printf(" 学生成绩信息管理系统\n");

printf(" 西安石油大学 ------张瑞\n");

for (i = 0; i < 80; i++)

putchar('=');

putchar('\n');

printf(" 1 输入信息\n");

printf(" 2 输出信息\n");

printf(" 3 按学号查找\n");

printf(" 4 插入\n");

printf(" 5 按学号删除\n");

printf(" 0 退出\n");

for (i = 0; i<= 79; i++)

putchar('=');

putchar('\n');

printf("%s\n", "请输入各 *** 作对应的序号:");

}

/-----------主程序--------------/

void print(STUDENT data, int len){

int i = 0;

FILE fp;

fp =fopen("f:\\学生信息表txt","w+");

fprintf(fp, " 学生成绩信息表\n");

fprintf(fp, " 学号");

fprintf(fp, " 姓名");

fprintf(fp, " 英语");

fprintf(fp, " 数学");

fprintf(fp, " c语言");

fprintf(fp, " 平均分");

fprintf(fp, " 总分\n");

for(i = 0;i<len;i++){

fprintf(fp,"%8d",data[i]no);

fprintf(fp,"%8s",data[i]name);

fprintf(fp,"%81lf",data[i]english);

fprintf(fp,"%81lf",data[i]math);

fprintf(fp,"%101lf",data[i]Programming);

fprintf(fp,"%121lf",data[i]mark_ave);

fprintf(fp,"%101lf\n",data[i]mark_tot);

}

fclose(fp);

}

void main()

{

STUDENT data[MAXN];

int len = 0;

char ctrl_ch;

paint();

scanf("%c", &ctrl_ch);

while (ctrl_ch != '0')

{

switch(ctrl_ch)

{

case '1':

input(data, &len);

break;

case '2':

print(data,&len);

output(data, len);

break;

case '3':

find(data, len);

break;

case '4':

insert(data, &len);

break;

case '5':

delete_item(data, &len);

break;

default:

if (ctrl_ch != '\n') printf("%s\n", "输入错误!");

break;

}

if (ctrl_ch != '\n') paint();

scanf("%c", &ctrl_ch);

}

}

这是我做的,你看是否满意?可能有点大,但也没办法呀,你的题目也比较大,呵呵!所以,如果满意,多给我追加点分!

#include "stdioh"

#include "stdlibh"

#include "stringh"

typedef struct course

{

char number[15],name[25];

int kind,time,lessontime,practicetime,credit,term;

}type;

FILE fp1;

void overview(); //浏览函数,负责浏览整个课程信息

void seek(); //查询函数,负责查询课程信息

void choose_course();//选课函数,负责让用户选课

void out(type temp);

void input();

int main()

{

int n,i;

if((fp1=fopen("course_informationtxt","wb"))==NULL)

{printf("创建文件失败!\n");exit(0);}

printf("请输入要存储的课程数目:\n");

scanf("%d",&n);

printf("开始创建文件,请输入课程信息:\n\n");

for(i=0;i<n;i++)

{

printf("请输入第%d门课程的信息:\n",i+1);

input();

printf("\n");

}

printf("如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2; 如想进行选课,请输入3;如想结束选修课系统,请输入0!\n");

while((scanf("%d",&n))!=EOF)

{

if(n==1)

overview();

if(n==2)

seek();

if(n==3)

choose_course();

if(n==0)

exit(0);

printf("\n\n如想继续 *** 作,只要按规则输入你要进行的 *** 作即可!\n规则:如想浏览整个课程信息,请输入1;如想查询课程信息,请输入2;如想进行选课,请输入3!\n");

}

printf("欢迎您使用此程序进行选课,谢谢!\n");

fclose(fp1);

return 0;

}

void input()

{

course c_a;

printf("请输入课程编码: ");

scanf("%s",c_anumber);

printf("请输入课程名: ");

scanf("%s",c_aname);

printf("请输入课程性质:限选课,请输入1;选修课,请输入2;必修课,请输入3! ");

scanf("%d",&c_aname);

printf("请输入课程总学时: ");

scanf("%d",&c_atime);

printf("请输入课程授课时间: ");

scanf("%d",&c_alessontime);

printf("请输入课程实验或实践时间: ");

scanf("%d",&c_apracticetime);

printf("请输入课程学分: ");

scanf("%d",&c_acredit);

printf("请输入课程所在的学期,比如第二学期,就输入2即可。");

scanf("%d",&c_aterm);

fwrite(&c_a,sizeof(struct course),1,fp1);//将一个结构体元素写入文件中

}

void out(type temp)

{

printf("课程代码: %s\n课程名: %s\n",tempnumber,tempname);

printf("课程名: %s\n",tempname);

if(tempkind==1)

printf("课程性质: Limited optional course\n");

else if(tempkind==2)

printf("课程性质: Optional course\n");

else if(tempkind==3)

printf("课程性质: Required Courses\n");

else

printf("该编码系统不认识,即无对应的课程性质存在!\n");

printf("课程总学时: %d\n课程授课学时: %d\n实验或上机学时: %d\n学分: %d\n课程开课学期: %d\n\n",temptime,templessontime,temppracticetime,tempcredit,tempterm);

}

void overview()

{

rewind(fp1);

course temp;

printf("整个课程信息如下:\n");

while((fread(&temp,sizeof(type),1,fp1))!=0)

out(temp);

}

void seek()

{

int judge,credit=0,kind=0;

char a='N';

course temp;

printf("如想按学分查询,请输入1;如想按课程性质,请输入2:\n");

scanf("%d",&judge);

rewind(fp1); //将文件指针位置置为开头

if(judge==1)

{

printf("请输入要查询的学分:\n");

scanf("%d",&credit);

while((fread(&temp,sizeof(type),1,fp1))!=0)

if(credit==tempcredit)

out(temp);

}

else if(judge==2)

{

printf("请输入你要查找课程的性质(限选课,请输入1;选修课,请输入2;必修课,请输入3):");

scanf("%d",&kind);

while((fread(&temp,sizeof(type),1,fp1))!=0)

if(tempkind==kind)

out(temp);

}

else

printf("不好意思,无此类查询!\n");

}

void choose_course()

{

rewind(fp1);

course temp;

int judge=1,n=0,time=0,credit=0;

char choose[20][20];

r1: printf("请开始填写课程编号进行选课:\n");

while(judge==1)

{

printf("请输入你所选课程的标号: ");

scanf("%s",choose[n]);

n++;

printf("如想继续选课,请输入1;如想提交,请输入0!\n");

scanf("%d",&judge);

}

while((fread(&temp,sizeof(type),1,fp1))!=0)

{

for(int i=0;i<n;i++)

if(strcmp(tempnumber,choose[i])==0)

{time=time+temptime;credit=tempcredit;break;}

}

if(time<270||credit<40)

goto r1;

printf("你所选的课为:\n");

while((fread(&temp,sizeof(type),1,fp1))!=0)

{

for(int i=0;i<n;i++)

if(strcmp(tempnumber,choose[i])==0)

{out(temp);break;}

}

}

怎么可能会有现成的代码给你,这个只能自己去写了。其实很简单,给你个思路:

1 建立选课配置文件,字段大致分为"课程ID、教师姓名、性别、院系、职称、课程名称、学分

"等等。这个用本地文件配置,方便管理员配置,用于主程序读取选课信息。

2 建立学员选课信息数据库(数据库或者本地文件存贮都可以),主要存贮每个学员的实际选课信息,提供主程序读取和修改。

3 创建系统主程序。其功能包括:

31 系统启动时读取选课配置文件(本地配置文件)

32 系统启动时读取每个学员的选课信息(数据库或者本地文件)

33 系统启动完成后,提供按学号查询,编辑学员选课信息,打印学员选课信息等等功能。

其实很简单。。。

以上就是关于如何使用Python选课系统开发程序全部的内容,包括:如何使用Python选课系统开发程序、C语言求助 选修课需要做一个程序 叫 学生成绩管理系统 需要有 菜单 输入 输出 删除 计算 查找 排序 插入、C语言程序设计 (学生选修课程设计)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10162922.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存