新人求教啊解决方案

新人求教啊
# include <stdio.h> 
# include <string>
void main(){
int choose;
scanf("%d",&choose);
switch(choose){
case 1:
void decode();
break;
case 2:
void code();
break;
}
}

decode()
{
printf("decode:\n");
}

code()
{
printf("code:\n");
}

这个简单的switch case都实现不了。。。 不知道哪出问题了

------解决方案--------------------
# include <stdio.h>
# include <string>

void decode(); //声明,先声明后使用的原则;
void code(); //声明,先声明后使用的原则;

void main(){
 int choose;
 scanf("%d",&choose);
 switch(choose){
 case 1:
 decode(); //调用函数就不需要再加类型
 break;
 case 2:
 code(); //调用函数就不需要再加类型
 break;
 default: //最好加上这个default,这样才完整;
 break;
 }
}

void decode() //函数定义要加上类型;
{
 printf("decode:\n");
}

void code() //函数定义要加上类型;
{
 printf("code:\n"); 
}
------解决方案--------------------
C/C++ code
void main(){
int choose;
scanf("%d",&choose);
switch(choose){
case 1:
decode();
break;
case 2:
code();
break;
}
}

void decode()
{
printf("decode:\n");
}

void code()
{
printf("code:\n"); 
}

------解决方案--------------------
好像语法都不对哟。
1、函数要先声明再使用,声明一般写在main方法前面,写函数实现时函数头要写上返回类型,即使是void
2、标准C中,main要返回int类型
C/C++ code

#include <stdio.h>  
//函数声明
void decode();
void code();
int main(void){//返回int类型
    int choose;     
    scanf("%d",&choose);
    switch(choose){
        case 1:
            decode();//函数使用
            break;
        case 2:
            code();
            break;
    }   
    return 0;//返回0
}
//函数实现
void decode()
{
    printf("decode:\n");
}
void code()
{
    printf("code:\n"); 
}