youd have to get a database that contains zip and city data. us census bereau has one on their site somewhere with some latitude and longitudes as well that you can use.
just query based on the zip code and then use the given city and state. you may also be able to find some web service for it.