数学建模社区-数学中国
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
[打印本页]
作者:
蕾欧娜
时间:
2015-4-20 10:36
标题:
用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
' n. T$ \: _$ _/ T
代码:
. `# z0 @9 a8 n8 B
#include "stdio.h"
+ R: D' S/ \! ^% X2 K, y7 l& s
#include "conio.h"
0 d. E* {2 U T* \. W! ~
#include "stdlib.h"
+ M, I9 M' g( j8 @9 }3 m5 ?: t
8 c) L! u4 S7 X7 @+ q) X6 [6 J
int add_people();
m1 @ Z' v' c- \* N
/*void check_people();
7 r d( I- i& ^
void revise_people();
. F& C* C. }$ g9 z/ z
void delete_people();*/
+ j7 |1 Z( N7 s4 S: ^; p5 g) Y& A" l
void save_exit();
) D0 V. e$ n0 O/ }- ~
! b- F; {* F! h9 H$ V e; f' g
, y' z; f: E* ~1 ^$ K7 ~4 c
' |; P! U, G* r9 P: c
main()
1 Q; E* d" H- d
{
" o/ F- q4 [* ~) Z- D
int com; /* 定义com变量用作读取操作符*/
) C0 A9 x. |/ ^- c2 [& _ B4 Z
printf("======================Welcome to Message manage system=========================\n");
: H$ ~, [5 }6 V T* o
printf("\n");
" B B V/ o& }& t/ d: k
printf("===============1.Add contact people 2.Check contact people=================\n");
/ O# ~% B0 C( K( S6 a& t$ ]+ A) S
printf("\n");
. }& Q5 j( R- U" J, O6 L
printf("===============3.Revise contact people 4.Delete contact people================\n");
- a1 q! q' m9 t8 R& S$ z6 n" U
printf("\n");
( F% g7 C7 z2 `
printf("============================ 5.Save&Exit======================================\n");
! U/ \) a: h) {% m' g5 q. n/ b
scanf("%d",&com);
) B" W/ K, G7 v& @2 b- ~
while(1)
' {! s4 G7 ^9 [6 T$ U) V( F. k* A! {
{
* H3 P0 u, j* |# s5 N/ ~
switch(com)
+ Y) l4 Q8 G9 n/ z7 c
{
: A; ~5 e; V& a+ [( u/ b
case 1:add_people();break;
6 x! L) `7 G. C: S8 r, o
/*case 2:check_people();break;
' U; n5 \/ L* @" q
case 3:revise_people();break;
1 c3 S7 \) N3 T5 p! m6 V& |2 m! O3 s
case 4:delete_people();break;*/
* X/ c' z2 O5 _2 r0 V$ P9 D
case 5:save_exit();break;
" {) r, X: a* x3 }
}
0 m; |+ K% V( n9 \
}
5 E) W% {) ]' m5 S+ r
, ?) {! R. N) U
. l, c) ^. b6 }
}
6 |* T( t' D: N- u) s
5 s9 y$ H Y9 o5 \4 q* X# c- d
int add_people()
: O; t5 ~5 h3 v! ]6 \ m5 ~, |
{
& u- _, \9 ~" @! e& f, V
FILE *fp;
6 H7 L$ F' @) {
char people,phone,filename[10],temp;
7 n% n1 }( ]/ C+ b6 y
temp=78;
: y( A8 ^1 O: E. Q% Q! Z& _
while(1)
) g9 D. n% s' T) g* ?
{
1 r% {; u3 A X$ A7 N% Q& M, ^( Y) m
printf("输入要存储到的文件名\n");
; Q$ \: I9 w, H( M8 ^; K
scanf("%s",filename);
9 O/ o% h; [5 G( D {
if((fp=fopen(filename,"w"))==NULL)
?4 r8 c) g) x1 j! O
{
7 v" P) ]" C: b' G$ q; |' K2 I
printf("无法打开\n");
# @2 |- ^6 d, A8 }1 B- f& f; R
exit(0);
: V9 J) v1 _% o
}
6 S; _/ R5 m# ?: L$ S8 {. X
loop: printf("请输入你要保存的联系人(以#结束)\n");
6 }0 v3 ~0 e& {! E6 o
people=getchar();
( g1 e; c- v: r2 a# S, c
while(people!='#')
9 L1 N0 w3 U! K0 e& U4 K5 w) y- d' ~+ M5 P
{
9 c9 g( H/ p3 F" ]% v. F( f& M- z/ g
fputc(people,fp);
) f; V3 _( u: @- d& l1 t3 }- A
putchar(people);
8 B, H8 J/ ?8 S* u: g
people=getchar();
: L8 l4 H Z I
}
& C: K, w) q; X4 s# e7 b" S5 W
printf("请输入要保存的联系人号码(以#结束)\n");
/ }, R2 O3 S: E4 ^
phone=getchar();
# D* f4 g' ~& u4 R9 W/ O
while(phone!='#')
, |$ T. P/ N0 g& W' s$ q! B5 Z
{
4 p4 R2 S/ @3 e) [5 z5 a
fputc(phone,fp);
: N7 O5 E9 ?3 A; q" Y G
putchar(phone);
& j/ y7 [0 `7 R7 b$ `$ I) J
phone=getchar();
6 K* ~4 C% _; x- g
}
, M: T* d2 T3 O0 Q+ P$ G
putchar(10);
# C0 \8 b+ @+ u1 Z
printf("是否继续添加联系人Y/N\n");
* x" b4 Y& M" c C( [
scanf("%s",&temp);
# q4 h6 w/ l- b9 t0 n$ |
if(temp=='n'||temp=='N')
+ t# o* X3 M1 }9 ?0 |3 k6 R. E9 r
{
9 Y3 p7 L* S; t& c, K0 y
printf("按下任意键返回主菜单\n");
5 D- ^- W; R: U4 e- o" G. Z1 O
getchar();
+ w' S+ i. Q# W W9 X! z
return 0;
' \! P- ` x/ _4 S, Q; s9 c; l0 v
}else
2 @# n% k0 [1 @* } e9 Y
goto loop;
/ Z. s! n: M' D7 A
}
0 ^% N" ?5 r+ M; W. z+ q
fclose(fp);
" J' K) O; Y; m3 U& W" U0 a
return 0;
/ M1 I! R& s6 N2 [) C$ Z9 S0 } ^
}
S v# F( \1 |2 [
8 r( D% @' k3 @9 Z
void save_exit()
2 ^$ O$ [! x" j, t' ~( D
{
6 e9 P, }, K ~2 @; Z
printf("按下任意键退出\n");
) `& ^4 H9 {4 ^3 l( H
getchar();
; }5 m9 s% u k/ b. \9 I1 `+ K
exit(0);
- x O* v6 Q2 f
}
7 B, t c- f" r, s- G6 e( D
问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
8 [7 x- ~$ b ` }
( [, `% s( q; d- l) [
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5