数学建模社区-数学中国
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
[打印本页]
作者:
蕾欧娜
时间:
2015-4-20 10:36
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
/ d( D8 X$ c* Q, f5 t0 g$ i
代码:
8 b' r* ]4 Z* a9 i/ n) h* ?
#include "stdio.h"
. [4 U7 U- ?5 s: p
#include "conio.h"
* x' q/ ^& t! n5 V/ t
#include "stdlib.h"
/ n7 A; J# J7 `& G
! o/ }: K: Z n+ \, D
int add_people();
) @9 g% S- W4 m2 Y; N
/*void check_people();
9 f8 R c% C: Q
void revise_people();
+ s& c- I8 y1 B: M! [# v" {
void delete_people();*/
. U0 _' p% O5 |/ \9 y. g
void save_exit();
( m" r: S) f0 u5 c" C- U
8 L# A1 q, D" e2 O3 u; }: J7 }; p
( ]. a7 M- _( l6 C7 r) k# @# [
# Z8 _+ O4 |0 T" \
main()
5 T; v1 X$ F/ l: _
{
. E# L6 X4 P, z
int com; /* 定义com变量用作读取操作符*/
$ g/ |% a0 b; p, H$ ]. |# X
printf("======================Welcome to Message manage system=========================\n");
* ?9 [2 i! ?- l0 p k
printf("\n");
$ A b, G1 K5 t8 _* t
printf("===============1.Add contact people 2.Check contact people=================\n");
+ K! I8 {/ O/ X& h
printf("\n");
6 A$ S& y/ s. f; V
printf("===============3.Revise contact people 4.Delete contact people================\n");
) ?) g# g: w, N' ?
printf("\n");
$ l P i) z/ L4 o" R3 G
printf("============================ 5.Save&Exit======================================\n");
) V" Z3 J3 |) `9 x. h
scanf("%d",&com);
/ `+ |' d4 l) s$ ]
while(1)
V$ G3 W1 P$ }- Y/ u* L
{
: v; O9 f7 `3 z6 U7 T6 t% c
switch(com)
5 n4 z: H X F2 m# B) }5 E+ [- A
{
0 V+ ^9 s& H7 j# Y7 _- H5 A
case 1:add_people();break;
' p2 j" |; j& V" i7 G* m# o
/*case 2:check_people();break;
8 k) ?; o* E% K3 `+ A) B
case 3:revise_people();break;
, r2 K* `6 s7 K; v) @, e4 _
case 4:delete_people();break;*/
& _$ V( f+ J+ a9 y3 |# J) U
case 5:save_exit();break;
/ \ ^, W5 [! W* K& g4 U
}
0 {! h9 k6 D. D! Z
}
, O% g1 G& }1 {( A6 e
& s$ I, }! U# P1 j q# @
+ q C) i4 x+ F7 p1 X8 A) _
}
, `1 K6 D, K7 L% ~0 i7 Q4 G1 t* ^
6 x" A( }$ r' i" g
int add_people()
3 k5 [" A7 M" w; v- I! E! r
{
' @+ p% L& o, h: g! X+ C1 V; G6 l9 O1 H
FILE *fp;
7 d$ v* |' P! u; y; v7 S) Y
char people,phone,filename[10],temp;
9 y5 v- a1 ~/ J5 k: h+ e1 @1 @
temp=78;
7 H- N R. p- \9 p% E* k! ~( I
while(1)
+ [5 L' m& r9 ^4 Y7 X, E- b1 E; A) i0 z4 s
{
& p% ]# i+ t, c
printf("输入要存储到的文件名\n");
* t9 ^" p# ]& A# T& f* s5 X- n
scanf("%s",filename);
/ ^6 @( m& s. B' A4 M) ]- W5 r+ W
if((fp=fopen(filename,"w"))==NULL)
- c4 L1 \# h' A7 N% \
{
0 E' v4 l' P4 {4 S+ f7 T
printf("无法打开\n");
- j/ O( t1 ?% D. V2 K
exit(0);
3 i I0 i% c9 V# \& x9 {$ O
}
/ Q7 u# K! R( B' | K$ S
loop: printf("请输入你要保存的联系人(以#结束)\n");
0 [1 K- C6 P: Z# X; p9 c0 G
people=getchar();
8 S6 s4 T# X; i! |
while(people!='#')
, i, n2 I, @: x5 U
{
) R9 r9 V7 c" h" E# A# ]) f
fputc(people,fp);
, N( c) O. ]$ P2 `! \
putchar(people);
" K7 q+ e1 {, f
people=getchar();
% T6 c( d, l# ^! M
}
' m5 a5 v( X$ Q
printf("请输入要保存的联系人号码(以#结束)\n");
6 B" m/ {3 [! ~* L& _$ I
phone=getchar();
3 z1 b$ ^ D* ]+ }3 D r" ] Y4 s
while(phone!='#')
* b4 \0 i( N, {! |4 q
{
9 n' i! `2 [ E5 X( M3 e
fputc(phone,fp);
. K+ J, v* I3 E1 k; {% L
putchar(phone);
0 O# O) s% \( \. g- K/ x
phone=getchar();
; R" Y7 \& _! u$ w
}
0 U8 f# R. l4 q
putchar(10);
+ m2 l$ D: ]6 N6 X
printf("是否继续添加联系人Y/N\n");
@1 f' f4 T; O6 |! }
scanf("%s",&temp);
9 D I9 `9 ^! v# ]! N
if(temp=='n'||temp=='N')
* O; [; v; z+ H" c) b, _3 d
{
1 ^* P5 ]" c [0 Y# b- e" L9 ~* t
printf("按下任意键返回主菜单\n");
4 B) s' n3 a- E( Z% @: j
getchar();
2 ?: I* p, [) L4 l# x( n
return 0;
L5 c7 Z: a0 D0 \
}else
: p1 `5 u' F* v {+ d# Q
goto loop;
& X/ _% x( z4 C6 Q' H) `; ^
}
* s- j, i% X/ V4 `! x
fclose(fp);
% l4 ]" A) i/ b3 ^$ i: f5 m. E# S
return 0;
4 c, A1 A. a5 u
}
. o+ T! ^: {+ G2 a8 E1 i
- s! t0 ?: J1 ?
void save_exit()
9 T8 {& b" f2 d/ e# J
{
1 d' I9 d0 M: k2 k8 u
printf("按下任意键退出\n");
+ l& I& _9 A9 T* t4 s
getchar();
1 j. U4 w% M) f
exit(0);
; N4 O$ p- m, G& C$ [9 |, a, Y
}
8 ^1 ^) {' W7 [) F) k
问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
7 E0 V& h& ^6 h, u3 I. F3 t+ j; d4 Z
5 J% L8 E5 h. o, s) V; ?
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5