关于实现家庭管理系统的源代码的信息
admin 发布:2022-12-19 22:07 129
今天给各位分享实现家庭管理系统的源代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求:C语言程序报告(管理系统),源代码Microsoft Visual C++6.0上运行
- 2、学生信息管理系统C++,使用Visual C++ 6.0编写。源代码参考
- 3、学生基本信息管理系统C++源代码
- 4、程序设计题 家庭支出管理系统
- 5、学生宿舍管理系统c程序源代码
求:C语言程序报告(管理系统),源代码Microsoft Visual C++6.0上运行
#includestdio.h
#includeconio.h
#includestdlib.h
#includestring.h
typedef struct
{
long class_1; /*班级*/
long number; /*学号*/
char name[20]; /*姓名*/
float tall; /*身高*/
float math; /*数学*/
float c_program; /*C语言*/
float physics; /*大学物理*/
float english; /*大学英语*/
float sum; /*总分*/
float average; /*平均分*/
}Student;
Student stud[100];
int i=0;
int menu() /*菜单函数*/
{
int a;
system("graftabl 936");
printf("***********************学生信息管理系统************************\n\n\n");
printf("\t\t\t.(1)输入学生信息\n");
printf("\t\t\t.(2)显示所有学生信息\n");
printf("\t\t\t.(3)按平均分升降排序\n");
printf("\t\t\t.(4)根据学号查找学生信息\n");
printf("\t\t\t.(5)插入学生信息\n");
printf("\t\t\t.(6)删除学生信息\n");
printf("\t\t\t.(7)修改学生信息\n");
printf("\t\t\t.(8)从文件中读入数据\n");
printf("\t\t\t.(9)将所有记录写入文件\n");
printf("\t\t\t.(0)退出本系统\n\n\n");
printf("***********************学生信息管理系统************************\n");
printf("请选择你要的操作(0~9):");
scanf("%d",a); /*读入一个数*/
while(a0||a9)
{
printf("输入错误!请重新输入:\n");
scanf("%d",a); /*输入错误就一直循环*/
}
system("cls"); /*清屏*/
return(a); /*返回a的值*/
}
int input(Student stud[])
{
char flag='Y';
while(flag=='Y'||flag=='y')
{
printf("请输入该学生的班级:");
scanf("%ld",stud[i].class_1);
printf("请输入该学生的学号:");
scanf("%ld",stud[i].number);
printf("请输入该学生的姓名:");
scanf("%s",stud[i].name);
printf("请输入学生的身高:");
scanf("%f",stud[i].tall);
printf("请输入该学生的“数学”分数:");
scanf("%f",stud[i].math);
printf("请输入该学生的“C语言”分数:");
scanf("%f",stud[i].c_program);
printf("请输入该学生的“大学物理”分数:");
scanf("%f",stud[i].physics);
printf("请输入该学生的“大学英语”分数:");
scanf("%f",stud[i].english);
getchar();
stud[i].sum=stud[i].math+stud[i].c_program+stud[i].physics+stud[i].english;
stud[i].average=stud[i].sum/4;
printf("该学生的总分为:%6.2f\t平均分为:%6.2f\n",stud[i].sum,stud[i].average);
i++;
printf("继续输入学生信息请按:Y or y,退出请按:N or n.\n");
scanf("%c",flag); /*判断是否继续输入*/
}
printf("按任意键回主菜单\n");
getchar();
system("cls");
return(i);
}
void Display(Student stud[],int n) /*显示所有记录*/
{
int k;
if(n==0)
printf("暂无学生记录!\n");
else
{
printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");
for(k=0;kn;k++) /*循环输出*/
{
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.1f",stud[k].tall);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sum);
printf("%8.2f\n",stud[k].average);
}
}
system("pause");
system("cls");
}
void Sort(Student stud[],int i) /*按平均分排序*/
{
int m,n,k; /*m,n为循环变量*/
Student t;
for(m=0;mi-1;m++) /*排序*/
for(n=m+1;ni;n++)
if(stud[m].averagestud[n].average)
{
t=stud[m];
stud[m]=stud[n];
stud[n]=t;
}
printf("排序后的顺序为:\n");
printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");
for(k=0;kn;k++) /*循环输出*/
{
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.1f",stud[k].tall);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sum);
printf("%8.2f\n",stud[k].average);
}
system("pause");
system("cls");
}
void Search(Student stud[],int i) /*查找并显示一个记录*/
{
int p,k; /*p为要查找的学生学号*/
char flag='y';
while(flag=='y'||flag=='Y')
{
printf("请输入要查找的学生学号:");
scanf("%d",p);
getchar();
for(k=0;p!=stud[k].numberki;k++)
if(k==i)
printf("该学号不存在!\n");
else
{
printf("该学生的信息为:\n");
printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.1f",stud[k].tall);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sum);
printf("%8.2f\n",stud[k].average);
}
printf("继续查找学生信息请输入:Y or y,退出输入:N or n.\n");
scanf("%c",flag);
}
system("cls");
}
int Insert(Student stud[],int i) /*插入学生信息*/
{
char flag='Y';
while(flag=='y'||flag=='Y')
{
printf("请输入要插入学生的班别:");
scanf("%ld",stud[i].class_1);
printf("请输入要插入学生的学号:");
scanf("%ld",stud[i].number);
printf("请输入要插入学生的姓名:");
scanf("%s",stud[i].name);
printf("请输入要插入学生的身高:");
scanf("%f",stud[i].tall);
printf("请输入要插入学生的“数学”分数:");
scanf("%f",stud[i].math);
printf("请输入要插入学生的“C语言”分数:");
scanf("%f",stud[i].c_program);
printf("请输入要插入学生的“大学物理”分数:");
scanf("%f",stud[i].physics);
printf("请输入要插入学生的“大学英语”分数:");
scanf("%f",stud[i].english);
getchar();
stud[i].sum=stud[i].math+stud[i].c_program+stud[i].physics+stud[i].english;
stud[i].average=stud[i].sum/4;
printf("该学生的总分为:%6.2f\n",stud[i].sum);
printf("该学生的平均分为:%6.3f\n",stud[i].average);
i++;
printf("继续插入学生信息请输入:Y or y,退出输入:N or n.\n");
scanf("%c",flag); /*判断是否继续输入*/
}
getchar();
printf("是否需要排序,需要请按'Y' or 'y';不需要请按'N' or 'n'.\n");
flag=getchar();
if(flag=='y'||flag=='Y')
Sort(stud,i);
system("cls");
return(i);
}
int Delete(Student stud[],int i) /*根据学号删除学生信息*/
{
long s;
int t,p;
char a='Y'; /*判断是否继续*/
while(a=='Y'||a=='y')
{
printf("请输入需要删除学生的学号:\n");
scanf("%ld",s);
getchar();
for(t = 0; t i s!=stud[i].number; t++)
if(s==stud[t].number)
{
for(p=t;pi;p++)
stud[p]=stud[p+1];
i=i-1;
printf("删除成功!\n");
}
else printf("没有找到要删除的学号!\n");
printf("是否继续删除,继续请按'Y' or 'y',退出请按'N' or 'n'.\n");
a=getchar(); /*判断是否继续*/
getchar(); /*消除回车键的影响*/
}
system("cls");
return(i);
}
void change(Student stud[],int i) /*修改学生信息*/
{
long p=0; /*p用来表示要修改的学生学号*/
int k; /*k为循环变量*/
char a='y';
while(a=='y'||a=='Y')
{
printf("\t\t学生信息修改:\n");
printf("请输入要修改的学生的学号:\n");
scanf("%ld",p);
for(k=0;p!=stud[k].number ki;k++)
if(k==i)
printf("无法找到该学生的信息:\n");
else
{
printf("该学生的信息为:\n");
printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.1f",stud[k].tall);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sum);
printf("%8.2f\n",stud[k].average);
printf("请输入该学生的新信息:\n");
printf("请输入该学生的班级:");
scanf("%d",stud[k].class_1);
printf("请输入该学生的学号:");
scanf("%d",stud[k].number);
printf("请输入该学生的姓名:");
scanf("%s",stud[k].name);
printf("请输入该学生的身高:");
scanf("%f",stud[k].tall);
printf("请输入该学生的“数学”分数:");
scanf("%f",stud[k].math);
printf("请输入该学生的“C语言”分数:");
scanf("%f",stud[k].c_program);
printf("请输入该学生的“大学物理”分数:");
scanf("%f",stud[k].physics);
printf("请输入该学生的“大学英语”分数:");
scanf("%f",stud[k].english);
getchar();
stud[k].sum=stud[k].math+stud[k].c_program+stud[k].physics+stud[k].english;
stud[k].average=stud[k].sum/4;
printf("修改成功!\n");
}
printf("是否继续修改,继续请按'y'或'Y',退出请按'N'或'n'.\n");
a=getchar();
}
system("pause");
system("cls");
}
int Read(Student stud[],int i) /*从文件中读入学生信息*/
{
int k=i;
FILE *fp; /*定义一个文件类型的指针*/
char filename[20]; /*定义文件名*/
printf("请输入文件名:\n");
scanf("%s",filename);
if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/
{
printf("无法打开文件!\n"); /*打开失败信息*/
return 0;
}
printf("从文件%s中读入的数据为:\n",filename);
fread(stud[k],sizeof(Student),1,fp);
printf(" 班别 学号 姓名 身高 数学 C语言 物理 英语 总分 平均分\n");
while(!feof(fp))
{
printf("%7ld",stud[k].class_1);
printf("%7ld",stud[k].number);
printf("%9s",stud[k].name);
printf("%7.1f",stud[k].tall);
printf("%7.2f",stud[k].math);
printf("%7.2f",stud[k].c_program);
printf("%7.2f",stud[k].physics);
printf("%7.2f",stud[k].english);
printf("%7.2f",stud[k].sum);
printf("%8.2f\n",stud[k].average);
k++;
fread(stud[k],sizeof(Student),1,fp);
}
fclose(fp);
printf("读入成功!\n");
system("pause");
system("cls");
return(k);
}
void Save(Student stud[],int i) /*将所有记录写入文件*/
{
int k=0;
FILE *fp; /*定义文件指针*/
char filename[80]; /*定义文件名*/
printf("请输入您要储存学生信息的文件名"); /*输入文件名*/
scanf("%s",filename);
if( (fp=fopen(filename,"wt"))==NULL) /*打开文件*/
{
printf("无法打开该文件!\n");
return;
}
while(ki)
{
fwrite((stud[k]), sizeof(Student), 1, fp);
k++;
}
printf("信息保存成功!\n");
fclose(fp);
}
int main(void)
{
int n=0;
while(1) /*选择判断要执行的语句*/
{
switch(menu())
{
case 1:printf("\n***********输入学生信息**********\n"); /*输入学生信息*/
n=input(stud);break;
case 2:printf("\n***********显示所有学生的信息*******\n");
Display(stud,n);break;
case 3:printf("\n***********按平均分升降排序*******\n");
Sort(stud,n);break;
case 4:printf("\n***********根据学号查找学生的信息*******\n");
Search(stud,n);break;
case 5:printf("\n***********插入学生的信息*******\n");
n=Insert(stud,n);break;
case 6:printf("\n***********删除学生信息*******\n");
n=Delete(stud,n);
case 7:printf("\n***********修改学生的信息*******\n");
change(stud,n);break;
case 8:printf("\n***********从文件中读入数据*******\n");
n=Read(stud,n);break;
case 9:printf("\n***********将所有记录写入文件*******\n");
Save(stud,n);break;
case 0:printf("\n***********感谢您的使用!*******\n");
exit(0);
}
}
return 0;
}
学生管理系统,,,这个可以不??
学生信息管理系统C++,使用Visual C++ 6.0编写。源代码参考
#includestdio.h
#includestdlib.h
#includestring.h
typedef struct list{
struct list *next;
int num; //学号
char name[30];//姓名
int age; //年龄
char sex; //性别
char addr[50];//地址
char mobile[11];//号码
int department; //寝室号
}user;
void insert(user *h);
void edit(user *h);
void del(user *h);
void S_byName(user *h);
void S_byNum(user *h);
void display(user *h);
int main()
{
int flag;
user *head=(user *)malloc(sizeof(user));
head-next=NULL;
while(1)
{
printf(" 1、添加新用户信息\n");
printf(" 2、修改用户信息\n");
printf(" 3、删除已有用户信息\n");
printf(" 4、根据用户名查询信息\n");
printf(" 5、根据学号查询信息\n");
printf(" 6、显示全部用户信息\n");
printf(" 7、清屏\n");
printf(" 8、退出\n");
printf("请选择:");
scanf("%d",flag);
if(flag==1)
insert(head);
else if(flag==2)
edit(head);
else if(flag==3)
del(head);
else if(flag==4)
S_byName(head);
else if(flag==5)
S_byNum(head);
else if(flag==6)
display(head);
else if(flag==7)
system("clear");
else if(flag==8)
return 0;
else
printf("输入有误,请重新选择!\n");
}
}
void insert(user *h)
{
user *p=(user *)malloc(sizeof(user));
p-next=h-next;
h-next=p;
printf("请输入新增用户学号:");
scanf("%d",p-num);
printf("请输入新增用户名称(最多30个字):");
scanf("%s",p-name);
printf("请输入新增用户年龄:");
scanf("%d",p-age);
printf("请输入新增用户性别:");
scanf("%c",p-sex);
printf("请输入新增用户的家庭住址(最多50字):");
scanf("%s",p-addr);
printf("请输入新增用户的电话号码(11位数):");
scanf("%s",p-mobile);
printf("请输入新增用户寝室号:");
scanf("%d",p-department);
printf("新用户记录成功添加:%d %s %d %c %s %s %d\n",p-num,p-name,p-age,p-sex, p-addr,p-mobile, p-department);
}
void edit(user *h)
{
int num;
int flag=0;
user *lh=h-next;
printf("输入要修改用户的学号:");
scanf("%d",num);
while(lh)
{
if(num == lh-num)
{
flag=1;
printf("请输入新增用户学号:");
scanf("%d",lh-num);
printf("请输入新增用户名称(最多30个字):");
scanf("%s",lh-name);
printf("请输入新增用户年龄:");
scanf("%d",lh-age);
printf("请输入新增用户性别:");
scanf("%c",lh-sex);
printf("请输入新增用户的家庭住址(最多50字):");
scanf("%s",lh-addr);
printf("请输入新增用户的电话号码(11位数):");
scanf("%s",lh-mobile);
printf("请输入新增用户寝室号:");
scanf("%d",lh-department);
printf("新用户记录成功添加:%d %s %d %c %s %s %d\n",lh-num,lh-name,lh-age,lh-sex, lh-addr,lh-mobile, lh-department);
break;
}
lh=lh-next;
}
if(!flag)
printf("不存在这样的用户\n\n");
}
void S_byName(user *h)
{
char name[30];
int flag=0;
user *lh=h-next;
printf("输入要查找的用户名称:");
scanf("%s",name);
while(lh)
{
if(strcmp(name,lh-name)==0)
{
flag=1;
printf("用户信息为:%d %s %d %c %s %s %d\n",lh-num,lh-name,lh-age,lh-sex, lh-addr,lh-mobile, lh-department);
break;
}
lh=lh-next;
}
if(!flag)
printf("用户名不存在\n\n");
}
void S_byNum(user *h)
{
int num;
int flag=0;
user *lh=h-next;
printf("输入要查找的学号:");
scanf("%d",num);
while(lh)
{
if(num == lh-num)
{
flag=1;
printf("用户信息:%d %s %d %c %s %s %d\n",lh-num,lh-name,lh-age,lh-sex, lh-addr,lh-mobile, lh-department);
break;
}
lh=lh-next;
}
if(!flag)
printf("找不到匹配的号码\n\n");
}
void display(user *h)
{
user *lh=h-next;
int i=1;
while(lh)
{
printf("第%d条用户信息:%d %s %d %c %s %s %d\n",i,lh-num,lh-name,lh-age,lh-sex, lh-addr,lh-mobile, lh-department);
lh=lh-next;
i++;
}
printf("\n");
}
void del(user *h)
{
int num;
int flag=0;
user *lh=h;
printf("输入要删除的用户学号:");
scanf("%d",num);
while(lh-next)
{
if(num == lh-next-num)
{
flag=1;
printf("删除用户成功:%d %s %d %c %s %s %d\n",lh-num,lh-name,lh-age,lh-sex, lh-addr,lh-mobile, lh-department);
lh-next=lh-next-next;
break;
}
lh=lh-next;
}
if(!flag)
printf("用户名不存在\n\n");
}
学生基本信息管理系统C++源代码
#include iostream
#include iomanip
#include string
using namespace std;
typedef struct student {
unsigned m_id;
string m_name;
unsigned m_age;
string m_sex;
string m_address;
string m_contact;
string m_dormitory;
struct student *m_next;
}student;
class CStudent {
private :
student *head;
public :
CStudent() {
head = new student;
head-m_id = 0;
head-m_name = "noname";
head-m_next = NULL;
}
~CStudent() {
student *p = head,*q;
while(p) {
q = p;
p = q-m_next;
delete q;
}
}
student readdata(int model); // model = 1:不读取学号,2:不读取姓名,其他,读取所有信息
void entering();
bool insert(const student astu);
student *findid(unsigned id) const;
student *findname(const string name) const;
student *findsex(const string sex) const;
student *finddormitory(const string dormitory) const;
unsigned boys() const;
unsigned girls() const;
unsigned headcount() const;
bool eraseid();
bool erasename();
bool modifyid();
bool modifyname();
void Show() const;
void query() const;
void friend statistics(const CStudent aclss);
void friend erase(CStudent aclss);
void friend modify(CStudent aclss);
};
string readstring() {
string str;
while(cin.get() != '\n');
cin str;
return str;
}
student CStudent::readdata(int model) {
student tmp;
if(model != 1) { cout "学 号: "; cin tmp.m_id; }
if(model != 2) { cout "姓 名: "; tmp.m_name = readstring(); }
cin tmp.m_age;
cout "性 别: ";
tmp.m_sex = readstring();
cout "住 址: ";
tmp.m_address = readstring();
cout "联系方式: ";
tmp.m_contact =readstring();
cout "寝 室: ";
tmp.m_dormitory = readstring();
return tmp;
}
void CStudent::entering() {
student tmp;
cout "学号(0 to return): ";
cin tmp.m_id;
while(tmp.m_id) {
if(findid(tmp.m_id) == NULL) {
cout "姓 名: ";
tmp.m_name = readstring();
cout "年 龄: ";
cin tmp.m_age;
cout "性 别: ";
tmp.m_sex = readstring();
cout "住 址: ";
tmp.m_address = readstring();
cout "联系方式: ";
tmp.m_contact = readstring();
cout "寝 室: ";
tmp.m_dormitory = readstring();
insert(tmp);
}
else cout "重复的学号:" tmp.m_id endl;
cout "学号(0 to return): ";
cin tmp.m_id;
}
}
student *CStudent::findid(unsigned id) const {
student *p;
for(p = head; p-m_next; p = p-m_next)
if(p-m_next-m_id == id) return p;
return NULL;
}
student *CStudent::findname(const string name) const {
student *p;
for(p = head; p-m_next; p = p-m_next)
if(p-m_next-m_name == name) return p;
return NULL;
}
student *CStudent::findsex(const string sex) const {
student *p;
for(p = head; p-m_next; p = p-m_next)
if(p-m_next-m_sex == sex) return p;
return NULL;
}
student *CStudent::finddormitory(const string dormitory) const {
student *p;
for(p = head; p-m_next; p = p-m_next)
if(p-m_next-m_dormitory == dormitory) return p;
return NULL;
}
bool CStudent::insert(const student astu) {
student *newnode,*p = head;
if(p-m_next == NULL) {
p-m_next = new student(astu);
p-m_next-m_next = NULL;
return true;
}
while(p-m_next) {
if(p-m_next-m_id == astu.m_id) {
cout "重复的学号,插入失败!\n";
return false;
}
if(p-m_next-m_id astu.m_id) {
newnode = new student(astu);
newnode-m_next = p-m_next;
p-m_next = newnode;
return true;
}
p = p-m_next;
}
p-m_next = new student(astu);
p-m_next-m_next = NULL;
return true;
}
unsigned CStudent::boys() const {
unsigned cnt = 0;
student *p;
for(p = head-m_next; p; p = p-m_next)
if(p-m_sex == "男") ++cnt;
return cnt;
}
unsigned CStudent::girls() const {
unsigned cnt = 0;
student *p;
for(p = head-m_next; p; p = p-m_next)
if(p-m_sex == "女") ++cnt;
return cnt;
}
unsigned CStudent::headcount() const {
unsigned cnt = 0;
student *p;
for(p = head-m_next; p; p = p-m_next,++cnt);
return cnt;
}
bool CStudent::eraseid() {
student *q,*p;
unsigned id;
cout "输入要删除的学号:";
cin id;
p = findid(id);
if(p == NULL) {
cout "没有找到学号是\"" id "\"的学生,删除失败!\n";
return false;
}
q = p-m_next;
p-m_next = q-m_next;
delete q;
return true;
}
bool CStudent::erasename() {
student *q,*p;
string name;
cout "输入要删除人的姓名:";
name = readstring();
p = findname(name);
if(p == NULL) {
cout "没有找到姓名是\"" name "\"的学生,删除失败!\n";
return false;
}
q = p-m_next;
p-m_next = q-m_next;
delete q;
return true;
}
bool CStudent::modifyid() {
student tmp,*p;
unsigned id;
cout "输入要修改的学号:";
cin id;
p = findid(id);
if(p == NULL) {
cout "没有找到学号是\"" id "\"的学生,修改失败!\n";
return false;
}
tmp = readdata(1);
tmp.m_id = id;
*p = tmp;
return true;
}
bool CStudent::modifyname() {
student *p,tmp;
string name;
cout "输入要修改人的姓名:";
name = readstring();
p = findname(name);
if(p == NULL) {
cout "没有找到姓名是\"" name "\"的学生,修改失败!\n";
return false;
}
tmp = readdata(2);
tmp.m_name = name;
*p = tmp;
return true;
}
int menu() {
int choice;
do {
system("cls");
cout "\t****************************\n";
cout "\t* 学生基本信息管理系统 *\n";
cout "\t*==========================*\n";
cout "\t* 1、录入学生信息 *\n";
cout "\t* 2、显示学生信息 *\n";
cout "\t* 3、查询学生信息 *\n";
cout "\t* 4、添加学生信息 *\n";
cout "\t* 5、统计学生信息 *\n";
cout "\t* 6、删除学生信息 *\n";
cout "\t* 7、修改学生信息 *\n";
cout "\t* 0、退出管理系统 *\n";
cout "\t****************************\n";
cout "\n\t请选择:";
cin choice;
}while(choice 0 || choice 7);
return choice;
}
void show(student *p) {
cout p-m_id " " p-m_name " " p-m_age " ";
cout p-m_sex " " p-m_address " ";
cout p-m_contact " " p-m_dormitory endl;
}
void CStudent::Show() const {
student *p;
cout "----------------------------------------------------------\n";
for(p = head-m_next; p; p = p-m_next) show(p);
cout "----------------------------------------------------------\n";
system("pause");
}
void CStudent::query() const {
int select;
unsigned id;
string name;
student *p;
cout "1、按学号查询\n2、按姓名查询\n0、返回\n";
cin select;
switch(select) {
case 1 : cout "请输入学号:"; cin id;
if(p = findid(id)) show(p-m_next);
break;
case 2 : cout "请输入姓名:"; name = readstring();
if(p = findname(name)) show(p-m_next);
break;
case 0 : return;
default : cout "选择错误。\n";
}
system("pause");
}
void statistics(const CStudent a) {
unsigned total = a.headcount();
unsigned boys = a.boys();
unsigned girls = a.girls();
cout "学生总数:" total "人。\n";
cout "其中,男生:" boys "名。";
cout "女生:" girls "名。\n";
system("pause");
}
void erase(CStudent a) {
int select;
unsigned id;
string name;
student *p,*q;
cout "1、按学号删除\n2、按姓名删除\n0、返回\n";
cin select;
switch(select) {
case 1 : cout "请输入学号:"; cin id;
if(p = a.findid(id)) {
q = p-m_next;
p-m_next = q-m_next;
delete q;
cout "成功删除 " id " 的信息。\n";
}
break;
case 2 : cout "请输入姓名:"; name = readstring();
if(p = a.findname(name)) {
q = p-m_next;
p-m_next = q-m_next;
delete q;
cout "成功删除 " name " 的信息。\n";
}
break;
case 0 : return;
default : cout "选择错误。\n";
}
system("pause");
}
void modify(CStudent a) {
int select;
cout "1、按学号修改\n2、按姓名修改\n0、返回\n";
cin select;
switch(select) {
case 1 : if(a.modifyid()) cout "修改成功。\n"; break;
case 2 : if(a.modifyname()) cout "修改成功。\n"; break;
case 0 : return;
default : cout "选择错误。\n";
}
system("pause");
}
int main() {
CStudent a;
int an;
do {
an = menu();
switch(an) {
case 1 : a.entering(); break;
case 2 : a.Show(); break;
case 3 : a.query(); break;
case 4 : a.entering(); break;
case 5 : statistics(a); break;
case 6 : erase(a); break;
case 7 : modify(a); break;
case 0 : break;
default : cout "选择错误。\n"; break;
}
}while(an);
return 0;
}
程序设计题 家庭支出管理系统
系统开发工具:DELPHI+ACCESS
: I* l6 ? p4 t3 X* t" ^
% e4 F; u) D1 P( P$ v本设计包含内容:源代码程序+毕业论文+参考文献+目录+摘要+致谢+任务书等见附件5 Y: S7 l$ d1 N" R G4 }7 x' D* f, F
论文大概:1.5万字
7 m5 i5 C1 m. S; O% K9 l家庭理财管理的现状' b. {0 @2 Y0 D. }/ G B
计算机已经成为我们学习和工作的得力助手,我们应该利用它来管理家庭财务,发挥其强大功能。今天,计算机的价格已经十分低廉,性能却有了长足的进步,它已经被应用于许多领域。而现在我国的家庭财务管理水平还停留在纸介质的基础上,平时在家庭财务管理过程中,计算与统计家庭财务信息这是在所难免的,但紧凭有限的人力,既浪费又不能确保准确性,这对家庭财务管理者而言是不利的,所以说这种机制已经不能适应时代的发展,在信息时代这种传统的管理方法也将必然被以计算机为基础的信息管理所取代。
; U2 J3 h2 h7 B( u% x虽然也有很多家庭在购置计算机的时候也会把家庭财务管理列为主要应用之一.可是实际情况往往事与愿违。究其原因.除了用户自己没有形成用计算机辅助家庭财务管理的习惯之外,原因如下:(1)中国原来采取的是计划经济,国家或单位包管职工的一生,所以不用自己规划家庭财务;(2)中国目前还是一个相对贫穷的国家,执行的是低工资政策,普通家庭没有多少剩余资产,也就无财可理。(3)在消费习惯上,国人相对比较保守,大部分人还是以最单一的储蓄方式来处理自己的结余资金,没有更多的理财渠道。(4)另外就是国内还确实缺乏真正适合中国家庭的理财软件,一方面专业的家庭财务管理软件都存在一个使用太过复杂的问题,用户需要具备一定的财务管理知识才能更好地使用这些软件,所以在使用一段时间的财务管理软件以后,很多用户最终放弃了用财务管理软件辅助家庭财务管理;第二方面是由于很多软件是以国外成熟产品为蓝本仿制,进行跟踪学习,虽然走了一条捷径,但由于国人的浪费习惯、理财方式及软件操作等方面与国外是不太一样的,所以这些以及很多优秀的国外软件在中国并没有得到普及。第三方面非专业版的软件又太过粗糙。只是一个简单的记账程序而已,许多都还没有超过Excel的功能范围,所以叫它们是家庭理财软件比较勉强,应该就叫记账程序比较准确。这些程序也就是软件初学者个人的习作,一般只实现了记账功能,功能比较简单,所以在实用性上范围相对较窄,应运面较小,家庭成员除非记录必要的帐务一般访问它的几率很少,这对于软件本身而言,是个失败。
( Y! C8 E1 y5 }. O! l1.2.2 家庭理财管理系统开发意义
) V" l T( f9 U; A我作为一个信息管理专业的毕业生,希望可以在这方面有所贡献,希望通过运用我所学的知识开发一个实用的程序来帮助家庭进行有效的财务管理。 开发这一系统的好处有以下几点:
( e/ F0 \2 Z U E4 v. f6 Q(1) 存储家庭预算计划,日常财务信息,历史财务记录,方便日后管理。: |$ ^! m3 G; b9 E0 p
(2) 可以方便而快速的管理与查询你的资金流向及最新的资金信息, 这一系统的报表统计与收支分析功能,能让你可以随时掌握日常支出及收入情况,做到收入支出心中有数,进而达到家庭或个人理财的目的。
/ k5 X8 ]6 o, I3 ^. h(3)附带了家庭生活中比较实用的一些功能,如日记管理、通讯录管理、备忘提醒等,扩充了软件内涵,延长了软件的使用寿命,同时提供了家庭橱窗管理一栏,更具人性化和吸引力。
( h0 n# i: |3 u( B(4)只需了解操作系统,就能实现方便快捷的家庭财务管理,节省时间与精力。# O! F: Q Z8 Q) N3 F: K这是我意见看看有没有用
学生宿舍管理系统c程序源代码
#includestdio.h /*I/O函数*/
#includestdlib.h /*其它说明*/
#includestring.h /*字符串函数*/
#define BUFLEN 100 /* 缓冲区最大字符数 */
#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */
#define N 100 /* 最大学生人数,实际请更改*/
struct record /*结构体*/
{
char code[LEN+1]; /* 学号 */
char name[LEN+1]; /* 姓名 */
int age; /* 年龄 */
char sex[3]; /* 性别 */
char time[LEN+1]; /* 出生年月 */
char add[30]; /* 家庭地址 */
char tel[LEN+1]; /* 电话号码 */
char mail[30]; /* 电子邮件地址 */
}stu[N];
int k=1,n,m; /* 定义全局变量 */
void readfile();/* 函数声明 */
void seek();
void modify();
void insert();
void del();
void display();
void save();
void menu();
int main()
{
while(k)
menu();
system("pause");
return 0;
}
void help()
{
printf("\n0.欢迎使用系统帮助!\n");
printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
printf("\n2.按照菜单提示键入数字代号;\n");
printf("\n3.增加学生信息后,切记保存按7;\n");
printf("\n4.谢谢您的使用!\n");
}
void readfile()/* 建立信息 */
{
char *p="student.txt";
FILE *fp;
int i=0;
if ((fp=fopen("student.txt","r"))==NULL)
{
printf("Open file %s error! Strike any key to exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
{
i++;
i=i;
}
fclose(fp);
n=i;
printf("录入完毕!\n");
}
void seek() /*查找*/
{
int i,item,flag;
char s1[21]; /* 以姓名和学号最长长度+1为准 */
printf("------------------\n");
printf("-----1.按学号查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",item);
flag=0;
switch(item)
{
case 1:
printf("请输入要查询的学生的学号:\n");
scanf("%s",s1);
for(i=0;in;i++)
if(strcmp(stu[i].code,s1)==0)
{
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
}
if(flag==0)
printf("该学号不存在!\n"); break;
case 2:
printf("请输入要查询的学生的姓名:\n");
scanf("%s",s1);
for(i=0;in;i++)
if(strcmp(stu[i].name,s1)==0)
{
flag=1;
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
}
if(flag==0)
printf("该姓名不存在!\n"); break;
case 3:return;
default:printf("请在1-3之间选择\n");
}
}
}
void modify() /*修改信息*/
{
int i,item,num;
char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */
printf("请输入要要修改的学生的学号:\n");
scanf("%s",s1);
for(i=0;in;i++)
if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/
num=i;
printf("------------------\n");
printf("1.修改姓名\n");
printf("2.修改年龄\n");
printf("3.修改性别\n");
printf("4.修改出生年月\n");
printf("5.修改地址\n");
printf("6.修改电话号码\n");
printf("7.修改E-mail地址\n");
printf("8.退出本菜单\n");
printf("------------------\n");
while(1)
{
printf("请选择子菜单编号:");
scanf("%d",item);
switch(item)
{
case 1:
printf("请输入新的姓名:\n");
scanf("%s",s2);
strcpy(stu[num].name,s2); break;
case 2:
printf("请输入新的年龄:\n");
scanf("%d",stu[num].age);break;
case 3:
printf("请输入新的性别:\n");
scanf("%s",sex1);
strcpy(stu[num].sex,sex1); break;
case 4:
printf("请输入新的出生年月:\n");
scanf("%s",s2);
strcpy(stu[num].time,s2); break;
case 5:
printf("请输入新的地址:\n");
scanf("%s",s2);
strcpy(stu[num].add,s2); break;
case 6:
printf("请输入新的电话号码:\n");
scanf("%s",s2);
strcpy(stu[num].tel,s2); break;
case 7:
printf("请输入新的E-mail地址:\n");
scanf("%s",s2);
strcpy(stu[num].mail,s2); break;
case 8:return;
default:printf("请在1-8之间选择\n");
}
}
}
void sort()/*按学号排序*/
{
int i,j,*p,*q,s;
char temp[10];
for(i=0;in-1;i++)
{
for(j=n-1;ji;j--)
if(strcmp(stu[j-1].code,stu[j].code)0)
{
strcpy(temp,stu[j-1].code);
strcpy(stu[j-1].code,stu[j].code);
strcpy(stu[j].code,temp);
strcpy(temp,stu[j-1].name);
strcpy(stu[j-1].name,stu[j].name);
strcpy(stu[j].name,temp);
strcpy(temp,stu[j-1].sex);
strcpy(stu[j-1].sex,stu[j].sex);
strcpy(stu[j].sex,temp);
strcpy(temp,stu[j-1].time);
strcpy(stu[j-1].time,stu[j].time);
strcpy(stu[j].time,temp);
strcpy(temp,stu[j-1].add);
strcpy(stu[j-1].add,stu[j].add);
strcpy(stu[j].add,temp);
strcpy(temp,stu[j-1].tel);
strcpy(stu[j-1].tel,stu[j].tel);
strcpy(stu[j].tel,temp);
strcpy(temp,stu[j-1].mail);
strcpy(stu[j-1].mail,stu[j].mail);
strcpy(stu[j].mail,temp);
p=stu[j-1].age;
q=stu[j].age;
s=*q;
*q=*p;
*p=s;
}
}
}
void insert() /*插入函数*/
{
int i=n,j,flag;
printf("请输入待增加的学生数:\n");
scanf("%d",m);
do
{
flag=1;
while(flag)
{
flag=0;
printf("请输入第 %d 个学生的学号:\n",i+1);
scanf("%s",stu[i].code);
for(j=0;ji;j++)
if(strcmp(stu[i].code,stu[j].code)==0)
{
printf("已有该学号,请检查后重新录入!\n");
flag=1;
break; /*如有重复立即退出该层循环,提高判断速度*/
}
}
printf("请输入第 %d 个学生的姓名:\n",i+1);
scanf("%s",stu[i].name);
printf("请输入第 %d 个学生的年龄:\n",i+1);
scanf("%d",stu[i].age);
printf("请输入第 %d 个学生的性别:\n",i+1);
scanf("%s",stu[i].sex);
printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);
scanf("%s",stu[i].time);
printf("请输入第 %d 个学生的地址:\n",i+1);
scanf("%s",stu[i].add);
printf("请输入第 %d 个学生的电话:\n",i+1);
scanf("%s",stu[i].tel);
printf("请输入第 %d 个学生的E-mail:\n",i+1);
scanf("%s",stu[i].mail);
if(flag==0)
{
i=i;
i++;
}
}
while(in+m);
n+=m;
printf("录入完毕!\n\n");
sort();
}
void del()
{
int i,j,flag=0;
char s1[LEN+1];
printf("请输入要删除学生的学号:\n");
scanf("%s",s1);
for(i=0;in;i++)
if(strcmp(stu[i].code,s1)==0)
{
flag=1;
for(j=i;jn-1;j++)
stu[j]=stu[j+1];
}
if(flag==0)
printf("该学号不存在!\n");
if(flag==1)
{
printf("删除成功,显示结果请选择菜单6\n");
n--;
}
}
void display()
{
int i;
printf("所有学生的信息为:\n");
printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");
printf("--------------------------------------------------------------------\n");
for(i=0;in;i++)
{
printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
}
}
void save()
{
int i;
FILE *fp;
fp=fopen("student.txt","w"); /*写入*/
for(i=0;in;i++)
{
fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,
stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);
}
fclose(fp);
}
void menu()/* 界面 */
{
int num;
printf("*********************系统功能菜单************************ \n");
printf("友情提醒:查询前请先刷新系统! \n");
printf(" ---------------------- ---------------------- \n");
printf(" ********************************************* \n");
printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");
printf(" ********************************************* \n");
printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");
printf(" ********************************************* \n");
printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");
printf(" ********************** ********************** \n");
printf(" * 8.退出系统 * \n");
printf(" ********************** \n");
printf(" ---------------------- ---------------------- \n");
printf("请选择菜单编号:");
scanf("%d",num);
switch(num)
{
case 0:help();break;
case 1:readfile();break;
case 2:seek();break;
case 3:modify();break;
case 4:insert();break;
case 5:del();break;
case 6:display();break;
case 7:save();break;
case 8:k=0;break;
default:printf("请在0-8之间选择\n");
}
实现家庭管理系统的源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、实现家庭管理系统的源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-09舆情信息在哪里找,舆情通
- 05-07pb超级报表源代码(pb报表工具)[20240507更新]
- 05-07简历源代码可以上传照片的简单介绍[20240507更新]
- 05-07广告切换源代码免费下载(广告切换源代码免费下载安装)[20240507更新]
- 05-06阁楼网源代码(阁楼是什么网站)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06石家庄网站优化,石家庄网站优化最新招聘信息
- 05-06人脸识别源代码pdf的简单介绍[20240506更新]
- 05-06包含超市管理系统java源代码的词条[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接