读书人

大家帮个忙啊小弟我是数学专业的学校

发布时间: 2012-06-05 13:54:06 作者: rapoo

大家帮个忙啊,我是数学专业的,学校要我们做这写课程设计,谢谢啦
题目1:成绩管理系统
问题描述:
对一个班的多门课程的成绩进行管理,能够实现一个班级学生信息的输入,输出,查找、删除,修改,排序,求平均分和及格率等操作。
(对数据的以上操作不要使用Sql语句完成,要使用数据结构中讲授的排序或查找方法完成。)
题目2:图书馆管理系统的设计
问题描述:
对图书进行管理,系统具有如下功能:
1.图书入库:新购一种书,确定书好后,登记到图书目录中,如果表中已有,则只将库存量增加;图书数据包括图书书号、书名、作者,数量,单价等。
2.排序:以书号按升序排序(可以按其他的字段进行升降排序,排序方法任选)
3.查找:能按照书名、书号进行查找(使用顺序查找或折半查找或其他查找方式)
4.删除:从表中删除指定的图书
借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的借书证号和归还期限,改变现存量。
归还:注销对借阅者的登记,改变该图书的现存量。

[解决办法]
发个代码你自己参考去修改,这样比较容易些,你觉得呢?

C/C++ code
#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 1typedef struct studentchange//定义结构体,将student中的定长记录改成变长记录{    char name[10];    char num[10];    char tel[20];    char age[3];    char sex[2];}stud;struct studentindex {    int namelen;    int numlen;    int tellen;    int agelen;    int sexlen;    int toallen; }studindex[N];stud studchange2[N];  char buffer[1024];int contentlen; int contentlentotal=0; void strcopy(char a[],char b[],int n,int m);int main(){       char content[100];    int op;    int i;    stud stud[]=    {        "Li","1001","18810366100","18","f",        "Fun","1002","18810366101","19","m",        "Wang1","1003","18810366102","17","f",        "hei","1004","18810366103","18","f",        "Gao","1005","18810366104","19","m",        "Yu","1006","18810366105","17","f",        "Feng","1007","18810366103","18","f",        "Dou","1008","18810366104","19","m",        "Wang2","1009","18810366105","17","f" ,        "Er","1010","18810366103","18","f",        "San","1011","18810366104","19","m",        "Zhao","1012","18810366105","17","f",        "Qian","1013","18810366103","18","f",        "Sun","1014","18810366104","19","m",        "Li2","1015","18810366105","17","f",        "Zhou","1016","18810366103","18","f",        "Zheng","1017","18810366104","19","m",        "Zhu","1018","18810366105","17","f" ,        "Xiaobai","1019","18810366103","18","f",        "Meng","1020","18810366105","17","f"    };    FILE *pf;    if((pf=fopen("studchange.dat","ab+"))==NULL) //判断文件是否打开成功,一条记录一条记录追加        printf("无法打开文件!");            for(i=0;i<N;i++)    {                 studindex[i].namelen=strlen(stud[i].name);        studindex[i].numlen=strlen(stud[i].num);        studindex[i].tellen=strlen(stud[i].tel);        studindex[i].agelen=strlen(stud[i].age);        studindex[i].sexlen=strlen(stud[i].sex);        studindex[i].toallen=studindex[i].namelen+studindex[i].numlen+studindex[i].tellen+studindex[i].agelen+studindex[i].sexlen;        strcpy(content,stud[i].name);         strcat(content,stud[i].num);        strcat(content,stud[i].tel);        strcat(content,stud[i].age);        strcat(content,stud[i].sex);        printf("总计%d条记录的信息为:%s\n",i+1,content);        contentlen=strlen(content);//一条记录的长度        fwrite(content,contentlen,1,pf);//将所有的记录写入文件中        contentlentotal+=contentlen;        contentlen=0;    }    fclose(pf);    printf("\n");            void query();    void display();    void update();    display();        while(1)    {                        printf("*         Menu  selection                *\n");        printf("*              1.query                   *\n");        printf("*              2.display                 *\n");        printf("*              3.update                  *\n");        printf("*              4.exit                    *\n");        printf("* ****************************************\n");        printf("*  Please  enter  selection:*");        scanf("%d",&op);        switch(op)        {        case 1:query();            break;        case 2:display();            break;        case 3:update();            break;        case 4:return 0;        }                getchar();    }    return 0;    }void display()      //打印文件中通讯录信息,并把读出来得记录放到结果体对象studchange2中。{    int i;    FILE *pf2;    if((pf2=fopen("studchange.dat","r+b"))==NULL)//判断文件是否打开成功,一条记录一条记录追加        printf("无法打开文件!");            char name[10];    char num[10];    char tel[20];    char age[10];    char sex[10];        //将的信息输出到一个字符串中即可。    int bufferlen=0;    fread(buffer,contentlentotal,1,pf2);//将文件中的记录信息读到缓冲区中。    printf("所有内容的长度是:%d\n",contentlentotal);    printf("所有的记录信息是:%s\n",buffer);            printf("****************            通讯录       ******************\n");    printf("姓名       学号      电话       年龄        性别\n");    for(i=0;i<N;i++)     {        strcopy(name,buffer,bufferlen,studindex[i].namelen);        memcpy(studchange2[i].name,name,studindex[i].namelen);         bufferlen+=studindex[i].namelen;                        strcopy( num,buffer,bufferlen,studindex[i].numlen);             memcpy(studchange2[i].num,num,studindex[i].numlen);         bufferlen+=studindex[i].numlen;                        strcopy(tel,buffer,bufferlen,studindex[i].tellen);        memcpy(studchange2[i].tel,tel,studindex[i].tellen);         bufferlen+=studindex[i].tellen;                                        strcopy(age,buffer,bufferlen,studindex[i].agelen);        memcpy(studchange2[i].age,age,studindex[i].agelen);         bufferlen+=studindex[i].agelen;                strcopy( sex,buffer,bufferlen,studindex[i].sexlen);        memcpy(studchange2[i].sex,sex,studindex[i].sexlen);             bufferlen+=studindex[i].sexlen;        printf("%s,%s,%s,%s,%s\n",studchange2[i].name,studchange2[i].num,studchange2[i].tel,studchange2[i].age,studchange2[i].sex);        printf("\n");        }}void query(){     int i;    //void see1(struct student *p);    //    struct student *p;    int method;    char name_test[10];    char num_test[10];    char tel_test[20];    char age_test[10];    char sex_test[10];    while(1)    {                printf("*               Menu  selection                          *\n");        printf("*                请选择查询方式                          *\n");        printf("*                 1.按姓名查询                           *\n");        printf("*                 2.按学号查询                           *\n");        printf("*                 3.按电话查询                           *\n");        printf("*                 4.按年龄查询                           *\n");        printf("*                 5.按性别查询                           *\n");        printf("*                 6.返回主菜单                           *\n");        printf("*  *********************************************************\n");                scanf("%d",&method);        switch(method)        {        case 1:            printf("请输入要查询的name:\n");            scanf("%s",&name_test);            //printf("看看比较结果是:%d\n",strcmp(studchange2[0].name,name));                        for(i=0;i<N;i++)            {    //首先将信息提取出                //if(memcmp(studchange2[i].name,name,strlen(name)==0))            //    {                    printf("name:%s\n",studchange2[i].name);                printf("num:%s\n",studchange2[i].num);                printf("tel:%s\n",studchange2[i].tel);                printf("age:%s\n",studchange2[i].age);                printf("sex:%s\n",studchange2[i].sex);                printf("\n");            //    }            }                        break;                    case 2:            printf("*  请输入要查询的学号:\n");            scanf("%s",&num_test);            for(i=0;i<N;i++)            {                if(!strcmp(studchange2[i].num,num_test))                {                    printf("name:%s\n",studchange2[i].name);                    printf("num:%s\n",studchange2[i].num);                    printf("name:%s\n",studchange2[i].tel);                    printf("age:%s\n",studchange2[i].age);                    printf("sex:%s\n",studchange2[i].sex);                    printf("\n");                }            }            break;                    case 3:            printf("*  请输入要查询的电话\n");            scanf("%s",&tel_test);            for(i=0;i<N;i++)            {                if(!strcmp(studchange2[i].tel,tel_test))                {                    printf("name:%s\n",studchange2[i].name);                    printf("num:%s\n",studchange2[i].num);                    printf("name:%s\n",studchange2[i].tel);                    printf("age:%s\n",studchange2[i].age);                    printf("sex:%s\n",studchange2[i].sex);                    printf("\n");                }            }            break;        case 4:            printf("*  请输入要查询的年龄\n");            scanf("%s",&age_test);            for(i=0;i<N;i++)            {                //首先将信息提取出来                                                                if(!strcmp(studchange2[i].age,age_test))                {                    printf("name:%s\n",studchange2[i].name);                    printf("num:%s\n",studchange2[i].num);                    printf("name:%s\n",studchange2[i].tel);                    printf("age:%s\n",studchange2[i].age);                    printf("sex:%s\n",studchange2[i].sex);                    printf("\n");                }            }                        break;                    case 5:            printf("*  请输入要查询的性别\n");            scanf("%s",&sex_test);                        printf("姓名       学号      电话       年龄        性别\n");            for(i=0;i<N;i++)            {                if(!strcmp(studchange2[i].sex,sex_test))                {                    printf("%s,%s,%s,%s,%s",studchange2[i].name,studchange2[i].num,studchange2[i].tel,studchange2[i].age,studchange2[i].sex);                    printf("\n");                }            }                break;        default:return;                                            }                    }        }            //将字符数组第m个到第n个字符copy到另外一个字符数组中    void strcopy(char a[],char b[],int n,int m)    {        memcpy(a,&b[n],m);        a[m]='\0';    }                void update()    {} 


[解决办法]
http://hi.baidu.com/%B3%CB%B7%E7%CC%A4%C0%CB2008/blog/item/bedd82c89568dd117e3e6f6f.html
以前写过
参考一下

读书人网 >C++

热点推荐