数据结构课程设计同学录

更新时间:2024-07-03 13:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据结构与算法设计》课程设计报告

题目:

学生姓名: 学 号: 班 级: 指导教师:

2012年 月 日

============第一个=============== #include

#include #include //同学结构体 struct node {

char name[10]; char age[3]; char phone[14]; char id[19];

char address[26]; char qq[12]; char emil[20]; char like[20]; char time[10]; node *next; };

node *head[5]; int tense; //比较大小

int cmp(int i,node *p,node *q) {

if(i==1)

return strcmp(p->name,q->name); else if(i==2)

return p->age-q->age; else if(i==3)

return strcmp(p->qq,q->qq); else

return strcmp(p->address,q->address); }

void insert(node *q,int t) {

node *p;

// cout<<\\\\\\ if(head[t]==NULL) {

\\

head[t]=q;

//cout<<\\\\\\\\ } else {

if(cmp(tense,head[t],q)>0) {

q->next=head[t]; head[t]=q;

// cout<<\

\\\\\\\ // cout<<\ } else {

node *s; p=head[t]; s=p;

while(p!=NULL&&cmp(tense,p,q)<0) {

s=p;

p=p->next; }

q->next=p; s->next=q;

//cout<<\\\\\\\\ } } }

void start() {

int t; node *p; ifstream in;

in.open(\ if(!in)

cout<<\打开文件有异常\ else {

char name[8]; in>>name;

while(strcmp(name,\ {

p=new node;

strcpy(p->name,name);

in>>p->age>>p->phone>>p->id>>p->address>>p->qq>>p->emil>>p->like>>p->time; p->next=NULL; // cout<name<<\\\\\\\\

if(strcmp(p->time,\小学\ t=1;

else if(strcmp(p->time,\中学\ t=2;

else if(strcmp(p->time,\高中\ t=3;

else if(strcmp(p->time,\大学\ t=4;

// cout<>name;

//cout<

in.close(); }

void print() {

for(int i=1;i<=4;i++) {

cout<<\ node *p; p=head[i];

while(p!=NULL) {

cout<name<<\\\\\\ p=p->next; } } }

void sort(int i) {

node *q;

while(head[i]!=NULL) {

q=head[i];

head[i]=head[i]->next; q->next=NULL; insert(q,0); }

head[i]=head[0]; head[0]=NULL; }

void search(char *s) {

node *p; int y=0;

for(int i=1;i<=4;i++)

\\

{

p=head[i];

while(p!=NULL) {

if(tense==1&&strcmp(p->name,s)==0) {

cout<name<<\\\\\\\\

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) y=1; }

else if(tense==2&&strcmp(p->age,s)==0) {

cout<name<<\\\\\\\\

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) y=1; }

else if(tense==3&&strcmp(p->qq,s)==0) {

cout<name<<\\\\\\\\

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) y=1; }

else if(tense==4&&strcmp(p->address,s)==0) {

cout<name<<\\\\\\\\

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) y=1; }

p=p->next; if(y==1)

break; }

if(y==1) break; } }

void deleted(char *s) {

node *p,*q,*q1;

for(int i=1;i<=4;i++) {

p=head[i];

while(head[i]!=NULL&&(strcmp(head[i]->name,s)==0||strcmp(head[i]->address,s)==0||strcmp(head[i]->qq,s)==0||head[i]->age==0)) {

p=head[i]; cout<name<<\\\\\\\ cout<<\ head[i]=head[i]->next; if(head[i]==NULL)

cout<

p=head[i]; q=head[i];

while(p!=NULL) {

cout<<\ int y=0;

if(strcmp(p->name,s)==0||strcmp(p->address,s)==0||strcmp(p->qq,s)==0||strcmp(p->age,s)==0||strcmp(p->time,s)==0)

{cout<<\

cout<name<<\\\\\\\\

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) break;

q->next=p->next; y=1; }

if(y==0) q=p; q1=p;

p=p->next; if(y==1)

delete q1; } } }

void change(char *s) {

node *p,*q; int y=0;

for(int i=1;i<=4;i++) {

p=head[i];

while(p!=NULL) {

if(strcmp(p->name,s)==0||strcmp(p->address,s)==0||strcmp(p->qq,s)==0||strcmp(p->age,s)==0||strcmp(p->time,s)==0) {

cout<<\

cout<name<<\\\\\\\\

cout<<\是否需要改动\

cout<<\如果需要请重新输入你改动人得信息,是请按Y,否是请按N\ char h; cin>>h;

if(h=='y'|| h=='Y')

cin>>p->age>>p->phone>>p->id>>p->address>>p->qq>>p->emil>>p->like>>p->time;

if(strcmp(p->address,s)==0||strcmp(p->qq,s)==0) y=1; else {

cout<<\是否还需要改动下面满足条件的同学信息\

cout<<\如果是请按Y,否是请按N\ cin>>h;

if(h=='y'|| h=='Y') y=1; } }

p=p->next; if(y==1) break; }

if(y==1) break; } }

void main() {

tense=1; start(); sort(1);

deleted(\ change(\ print(); }

小毛 12 15180174084 362330167886456878 大学1 274872338 111@ss 杀猪 小学 小红 15 15154474084 362330199203215787 大学2 274872330 111@ss 杀猪 小学 小猪 50 15180174084 362330199204521658 大学3 274872338 111@ss 杀猪 小学 小够 17 15180131084 362330199203212378 大学4 274872338 111@ss 杀猪 小学 小林 41 15178678784 362330784803226878 大学5 274872338 111@ss 杀猪 中学

江西南昌东华理工江西南昌东华理工江西南昌东华理工江西南昌东华理工江西南昌东华理工

本文来源:https://www.bwwdw.com/article/q9k.html

Top